Você está na página 1de 71

MINISTERE DE L'ENSEIGNEMENT SUPERIEUR, DE LA RECHERCHE SCIENTIFIQUE ET DE LA TECHNOLOGIE UNIVERSITE DU 7 NOVEMBRE A CARTHAGE INSTITUT NATIONAL DES SCIENCES APPLIQUEES ET DE TECHNOLOGIE

PROJET DE FIN D'ETUDES


pour l'obtention du

DIPLOME NATIONAL D'INGENIEUR EN SCIENCES APPLIQUEES ET EN TECHNOLOGIE


Filire : Rseaux Informatiques et Tlcommunications

Sujet :

Conception et mise en place dun module pdagogique pour portails communautaire PostNuke

Ralis par : CHAKROUN Mourad Entreprise : Technologie de la Formation et de lApprentissage (TECFA), Facult de Psychologie et des Sciences de lEducation (FPSE), Universit de Genve, Suisse Soutenu le : 31 Mars 2003 Tunis Devant le Jury compos de Prsident : LOUKIL Adlne Examinateur: MADDOURI Mondher Responsable l'entreprise: SCHNEIDER K. Daniel Responsable l'INSAT: LAROUSSI Mona

Anne universitaire 2002/2003

RESUME
Lenseignement et lducation sont difficilement permables aux nouvelles technologies de linformation et aux applications en ligne. Les expriences ont montr que les systmes informatiss nont pas toujours trouv la formule juste pour tous les contextes de lapprentissage. Beaucoup doutils comme les CBT (Computer Based Training) ont vu le jour et sintgrent parfaitement dans le cadre behaviouriste du e-learning . Ils sont performants pour les enseignements de base (connaissances et procdures lmentaires) mais sont peu efficaces pour lapprentissage des matires complexes ou du savoir-faire appliqu ayant des bases socioconstructivistes. De plus, rien ou presque na t prvu pour ce type dapprentissage. Dans la perspective dune meilleure approche pour renverser cette tendance nous en expliquons les raisons. Nous essaierons ensuite de dgager les critres pdagogiques qui feront que lon puisse envisager lemploi efficace des nouvelles technologies de linformation en ducation. Nous nous baserons dans notre dmarche sur le socioconstructivisme, lun des diffrents courants de penses psychopdagogiques qui fait partie du champ dinvestigation des recherches en cours TECFA (Technologies de la Formation et de lApprentissage). Nous en conclurons que des scnarios pdagogiques intressants combinant collaboration et recherche peuvent tre supports par des technologies en ligne naissantes tels que les portails communautaires. Nous dmontrerons ainsi que des portails, comme la plate-forme PostNuke qui est en cours dutilisation TECFA, peuvent trs bien tre utiliss des fins dapprentissage dans lducation Lun de ces scnarios est lArgue Graph. Cest un systme dapprentissage collaboratif qui permettra lenseignant de concevoir des scnarios pdagogiques bass sur linteraction entre individus faisant partie dun groupe pour rflchir un thme particulier et interagir de manire constructive. Nous expliciterons travers ce document les diffrentes caractristiques de lArgue Graph et nous dcrirons les diffrentes tapes de la conception et de la mise en place du systme qui traduira ce scnario en un programme support par la plate-forme PostNuke.

Table des matires


TABLE DES MATIERES .........................................................................................................3 CHAPITRE 1 : CADRE DU PROJET ......................................................................................5
1) Les technologies de linformation et de la communication et lducation: rappel historique et principes gnraux.................................................................................................................................................................. 6 2) La notion de CSCL (Computer-Supported Collaborative Learning): de nouvelles perspectives pour lapprentissage en ligne........................................................................................................................................... 7 2.1) Les diffrents courants psychopdagogiques....................................................................................... 7 2.1.1) Le socioconstructivisme .................................................................................................................. 7 2.1.2) Lapprentissage par projet............................................................................................................... 8 2.2) Le CSCL (Computer-Supported Collaborative Learning) : dfinitions ............................................... 9 3) Quest ce que l Argue Graph et pourquoi? ................................................................................................. 10 3.1) But du projet ...................................................................................................................................... 10 3.2) Cadre du projet : Prsentation de TECFA et TECFA Seed................................................................ 11 3.3) Le catalogue TECFA Seed et le scnario Argue Graph ..................................................................... 11 3.3.1) Notion de scnario et dactivits dapprentissage ......................................................................... 12 3.3.2) Le scnario Argue Graph .............................................................................................................. 14

CHAPITRE 2 : ETUDE PRELIMINAIRES ET OBJECTIFS...................................................15


1) 2) Introduction ................................................................................................................................................. 16 Le script Argue Graph ................................................................................................................................. 16 2.1) Les phases du script ........................................................................................................................... 16 2.2) Pourquoi un nouvel Argue Graph ? ................................................................................................... 17 Les portails communautaires ....................................................................................................................... 18 3.1) Les fonctions principales dun portail................................................................................................ 19 3.2) lments techniques dun portail ....................................................................................................... 20 3.3) Modules et blocs ................................................................................................................................ 21 Cahier des charges....................................................................................................................................... 22 Introduction ................................................................................................................................................. 24 Spcification des besoins fonctionnels du module Argue Graph ................................................................ 24 2.1) Vue globale ........................................................................................................................................ 24 2.2) Vue dtaille ...................................................................................................................................... 25 2.2.1) Systme dauthentification, de permissions et de profils utilisateurs............................................ 25 2.2.2) Interface administrateur................................................................................................................. 25 2.2.3) Interface utilisateur........................................................................................................................ 29 Description de la conception ....................................................................................................................... 30 Modlisation du contexte du systme ..................................................................................................... 30 3.1.1) Les acteurs..................................................................................................................................... 30 3.1.2) Les messages................................................................................................................................. 31 Modlisation des besoins fonctionnels ................................................................................................... 32 3.2.1) Identification des cas dutilisation................................................................................................. 32 3.2.2) Diagrammes de collaboration........................................................................................................ 34 3.2.3) Identification des classes............................................................................................................... 36 3.2.4) Diagramme de dploiement........................................................................................................... 38

3)

4) 1) 2)

CHAPITRE 3 : ETUDE DETAILLEE ET CONCEPTION .......................................................23

3) 3.1)

3.2)

CHAPITRE 4 : REALISATION ..............................................................................................39


1) 2) Introduction ................................................................................................................................................. 40 Environnement technique ............................................................................................................................ 40

2.1) 2.2) 2.3) 3)

PHP .................................................................................................................................................... 40 PostNuke............................................................................................................................................ 40 MySQL .............................................................................................................................................. 41

Description du dveloppement du module ArgueGraph ............................................................................. 41 3.1) Caractristiques du dveloppement dun module PostNuke .............................................................. 41 3.2) Architecture dun rpertoire module PostNuke.................................................................................. 42 3.3) LAPI PostNuke................................................................................................................................. 43 3.3.1) Gestion des erreurs ........................................................................................................................ 44 3.3.2) Statut de lAPI PostNuke : en constante progression .................................................................... 44 3.4) LAPI pnHTML ................................................................................................................................. 44 3.4.1) Exemple de lutilisation de la classe pnHTML ............................................................................. 45 3.4.2) Statut de lAPI pnHTML : progression lente ................................................................................ 45 3.5) Dveloppement du module ArgueGraph ...................................................................................... 46 3.5.1) Le rpertoire ArgueGraph ....................................................................................................... 46 3.5.2) Description du fichier pntables.php ......................................................................................... 47 3.5.3) Description du fichier pninit.php.............................................................................................. 48 3.5.4) Principe de dveloppement ........................................................................................................... 49 3.5.5) Navigation travers les interfaces du module............................................................................... 50 3.5.6) Gestion de la scurit du module .................................................................................................. 51 3.5.7) Gnration des graphes ................................................................................................................. 51 3.5.8) Algorithme de rpartition des groupes en paires ........................................................................... 53 3.5.9) Dcodage des fichiers XML.......................................................................................................... 53 3.5.10) Module WebChat ................................................................................................................ 55

CHAPITRE 5 : DEPLOIEMENT ET EVALUATION ...............................................................56


1) 2) 3) Introduction ................................................................................................................................................. 57 Installation ................................................................................................................................................... 57 Dploiement et tests .................................................................................................................................... 58 3.1) Administration du module ................................................................................................................. 58 3.2) Excution du scnario Argue Graph .................................................................................................. 59 Evaluation du travail.................................................................................................................................... 61 4.1) Accomplissements ............................................................................................................................. 61 4.2) Amliorations et perspectives ............................................................................................................ 62

4)

DISCUSSION EST CONCLUSION........................................................................................63 ANNEXES ..............................................................................................................................64 ANNEXE 1 : LE MODULE FAVOURITE LINKS .............................................................65 ANNEXE 2 : LE FICHIER MYCLASS.PHP .....................................................................66 ANNEXE 3 : ANALYSEUR XML ...........................................................................................68 BIBLIOGRAPHIE...................................................................................................................70

Chapitre 1 : Cadre du projet

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

1) Les technologies de linformation et de la communication et lducation: rappel historique et principes gnraux


Au cours de la dernire dcennie, les ordinateurs et les rseaux ont entran une mtamorphose radicale aussi bien dun point de vue culturel et social quadministratif, politique et conomique. Or, l'enseignement est difficilement permable aux innovations technologiques. Celles-ci pourraient cependant constituer le tremplin idal pour accder un enseignement tourn vers l'avenir et une formation permanente compte tenu des normes possibilits qu'elles offrent. Cela fait plus de 20 ans que les ordinateurs sont utiliss dans l'ducation. L'enseignement assist par ordinateur a commenc avec les CBT (Computer Based Training) et les CAI (Computer Aided Instruction) qui taient les premiers systmes dploys dans lenseignement utilisant des ordinateurs. Avec ces premiers systmes, l'instruction ntait pas individualise aux besoins de l'tudiant : la faon dont on faisait naviguer ltudiant travers le matriel ducatif tait purement algorithmique comme par exemple si vous avez bien rpondu la question 21, allez la question 54; sinon allez la 32 . Les logiciels dits Drill and practice , qui se basent sur des banques de donnes dexercices stocks et dont linteraction avec lutilisateur est de type ractif, ainsi que les didacticiels, qui reposent sur des dialogues interactifs consistant mmoriser et raliser des squences de procdures associes certains concepts, font partie de ce type de systmes. Ils sont efficaces pour lapprentissage du calcul mental ou de tables de grammaires mais le sont moins pour dautres domaines parce quils ne favorisent pas les initiatives de lapprenant et ne fournissent pas le mme genre d'attention individualise qu'un tudiant recevrait d'un prcepteur humain (Bloom 84). Pour qu'un systme d'ducation informatis fournisse une telle attention, il doit soit raisonner la fois sur le domaine de connaissances et sur celui qui doit apprendre, soit donner plus de contrle lapprenant et faire intervenir lenseignant des fins dencadrement et de modration. De nouveaux systmes capables dexercer une forme de tutorat ont donc vu le jour et ont permis daugmenter la motivation et les rsultats des tudiants. Nous pouvons citer comme exemple les logiciels se basant sur le coaching qui fait glisser le rle de linstructeur vers celui de guide ou entraneur du savoir, ou bien les simulateurs qui permettent lapprenant dexplorer une situation dans toute sa complexit, de prendre des dcisions et den observer les consquences. Ces systmes, et encore de nombreux autres que nous navons pas cits, peuvent se trouver sous diverse formes, allant des micro mondes certaines nouvelles technologies de linformation et de la communication (NTIC). Les technologies Internet et particulirement le World Wide Web exercent mme une influence croissante sur lenseignement, notamment parce quelles vhiculent souvent des stratgies pdagogiques nouvelles et parce quelles permettent dorganiser des formations plus flexibles dans le temps et lespace (Schneider 2001). Dans notre projet, nous nous concentrons plus particulirement sur les technologies ducatives qui sinsrent dans le cadre dun apprentissage avanc combinant initiative de lapprenant et contrle de lenseignant. Ces technologies doivent pouvoir fournir des outils permettant un apprentissage en ligne.

Chapitre 1 : Cadre du projet

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Nous partirons du postulat que tout apprentissage avanc se basant sur Internet doit : Permettre une formation efficace et vitale pour pouvoir survivre culturellement et conomiquement dans le "global village" de demain. Donner une formidable impulsion l'apprentissage de la pense, l'autoformation, mais aussi l'apprentissage actif, constructif, diffrenci et cratif. Prendre en compte les matires enseignes, le mode d'apprentissage et les enseignants eux-mmes. Permettre non seulement le tl-enseignement, mais aussi le dveloppement social et culturel. Motiver et favoriser la communication entre les enseignants, les lves et les parents. L'introduction de rseaux informatiques dans l'enseignement peut constituer un norme facteur de stimulation pour tous les jeunes (Frimout & Wynants 2000). Dans la perspective d'une meilleure approche de ce que doivent permettre ces technologies, il est indispensable de passer en revue les diffrentes thories de lapprentissage et les stratgies pdagogiques qui y sont associes en vue de dvelopper une architecture efficace de formations, officielles et non officielles, qui permettront tant aux enseignants qu'aux lves d'panouir pleinement leurs talents cratifs, sociaux et intellectuels.

2) La notion de CSCL (Computer-Supported Collaborative Learning): de nouvelles perspectives pour lapprentissage en ligne 2.1) Les diffrents courants psychopdagogiques
Il existe, entre tant dautres, quatre grandes coles de pense psychopdagogique qui se prononcent sur les mcanismes dapprentissage et de stratgies pdagogiques. Le bhaviorisme stipule quapprendre signifie acqurir un comportement par le biais de mcanismes de renforcement. Les CBT et plus gnralement l e-learning sont des technologies bhavioristes. Ils sont performants pour les enseignements de base (connaissances et procdures lmentaires) mais sont peu efficaces pour lapprentissage des matires complexes ou du savoir-faire appliqu. Les approches socioculturelles tendent penser que les interactions sociales quun individu exprimente faonnent une partie importante de son apprentissage. Certaines approches de la cognition, quant elles, prnent linsertion de lapprenant dans une communaut de pratique. Enfin, le constructivisme postule que lon construit ses connaissances en faisant ou encore en construisant des objets. Du constructivisme et de la socio-cognition dcoule lapproche socioconstructiviste. 2.1.1) Le socioconstructivisme La dfinition du socioconstructivisme est assez large. Il sagit avant tout dune conception de lapprentissage qui met en avant, dune part, limportance dune construction des connaissances bases sur ce que lapprenant sait dj et, dautre part, linteraction de lindividu avec son environnement social. Ces thories puisent leur source dans le constructionnisme, le socio-culturalisme et la socio-cognition. Bien que prsentant un certain nombre de diffrences, les pdagogies socioconstructivistes ont quelques dnominateurs communs.

Chapitre 1 : Cadre du projet

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

On peut isoler, avec Wilson et Lowry (2001), trois principes cl pour une utilisation efficace dInternet pour lapprentissage : Fournir un accs des sources dinformation riches ; Encourager une interaction fructueuse avec des contenus ; Amener les sujets relever ensemble des dfis, se soutenir, se rpondre.

Figure 1 : Socio-constructivisme : recherche et collaboration

Mais il ne suffit pas de placer les sujets dans des situations de collaboration pour quun apprentissage efficace ait lieu. Lenseignant doit mettre en place des scnarios structurs pour obtenir ce rsultat. Un scnario est une squence de phases et de rles spcifiques jouer. La technologie aura donc, dans ce contexte, davantage pour but daider les apprenants mener bien des tches complexes que de dlivrer du matriau de cours (Dillenbourg 2002). Il existe un ensemble important de modles pdagogiques qui sinsrent dans le cadre du socioconstructivisme tels que lapprentissage par projet et lapprentissage collaboratif assist par ordinateur. Un facteur runit ces deux pdagogies : la communaut dapprenants. La communaut est dfinie comme un rseau constitu dindividus ayant des pratiques et des buts communs. Cette communaut va entourer et aider lapprenant construire ses connaissances (Bielaczyc & Collins, 1999). Le facteur communaut est plus prononc dans la pdagogie de lapprentissage par projet dont nous dcrivons les principes gnraux cidessous. 2.1.2) Lapprentissage par projet Lapprentissage par projet est un modle qui se dmarque de lenseignement traditionnel en se recentrant davantage sur lapprenant qui se voit assigner des projets raliser. Les projets permettent ainsi de rendre les apprenants plus autonomes dans le processus dapprentissage et les poussent davantage la recherche, la communication et la collaboration. La notion de projet est par ailleurs centrale dans le cadre des pdagogies socioconstructivistes. Synteta (2001) dfinit lapprentissage par projets comme suit : Des expriences dapprentissage engageantes qui incluent les apprenants dans des projets complexes ancrs dans la ralit et au travers desquels ils dveloppent et appliquent des comptences et du savoir ; Un apprentissage qui incite les apprenants avoir recours de nombreuses sources dinformation et disciplines afin de rsoudre des problmes ;

Chapitre 1 : Cadre du projet

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Un apprentissage dont les buts sont identifis et formuls, mais par rapport auxquels les enjeux et les rsultats des processus dacquisition des connaissances ne sont ni prdtermins, ni entirement prvisibles ; Des expriences au travers desquelles les apprenants apprennent grer et manipuler des ressources telles que le temps et divers matriaux (logiciels, systmes technologiques). Lapprentissage par projet ncessite donc un investissement important de lapprenant qui doit dterminer la problmatique qui lui est propose travers le projet, suivre un plan de travail dcompos en plusieurs tapes pour aboutir aux rsultats esprs, puiser dans toutes les ressources possibles pour ses recherches, communiquer avec la communaut pour essayer de profiter de lexprience des autres apprenants, collaborer afin de trouver des solutions ensemble travers lchange dides et interagir avec les professeurs pour tout ce qui est suivi temporis du projet.

2.2) Le CSCL (Computer-Supported Collaborative Learning) : dfinitions


La libre collaboration ne permet pas systmatiquement lapprentissage. Une des meilleures faons damliorer lefficacit de lapprentissage collaboratif est dengager les tudiants dans des interactions structures faisant partie de scnarios bien dfinis. Lapprentissage collaboratif assist par ordinateur ou CSCL est bas sur cette notion de scnario. Le scnario est une squence de phases bien dfinies ayant plusieurs attributs. Ces phases servent rguler la collaboration et lencadrer afin quelle puisse aboutir un apprentissage que lon souhaite efficace. Lide est donc de structurer la collaboration afin daboutir un rsultat optimal. Plusieurs tudes ont montr que la russite de lapprentissage collaboratif dpend de plusieurs facteurs, dont la composition du groupe des apprenants, la tche effectuer et le mdia de communication. Cependant, ces facteurs multiples interagissent les uns avec les autres dune manire si complexe quil est difficile den garantir un effet dapprentissage. Cest pour cela que le contrle de lefficacit de la collaboration sest quelque peu dplac des prconditions de la collaboration au processus collaboratif lui-mme (Dillenbourg, Backer, Blaye & OMalley, 1995). En dautres termes, il faut directement influencer les interactions des apprenants en augmentant la frquence des conflits, en poussant llaboration dexplications pertinentes et la construction de largumentation, en encourageant lentente mutuelle La rgulation des interactions dans le processus dapprentissage collaboratif est donc trs importante, nanmoins, sa structuration reste aussi primordiale puisquelle permet lmergence dinteractions productives en agissant sur la composition des groupes et la manire de procder. La rgulation de lapprentissage collaboratif reste complexe. Elle ncessite lintervention du facteur humain car agit surtout sur le dynamisme social du groupe. La traduction de lintervention humaine en processus informatis peut tre trs coteuse en ressource pour un systme dapprentissage. Cependant on pourra confier un tel systme la structuration de lapprentissage collaboratif travers des applications scripts ou des interfaces de communication structures. Un scnario est une squence dinstructions qui dtermine comment les membres dun groupe doivent interagir, comment ils doivent collaborer et comment ils doivent rsoudre le problme. Quand un professeur engage les tudiants dans un apprentissage collaboratif, il leur donne des instructions du type faites lactivit par groupes de 3 . Ce type dinstructions est rarement accompagn de consignes explicitant la manire avec laquelle les apprenants doivent

Chapitre 1 : Cadre du projet

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

travailler ensemble. Un scnario permet lenseignant dtablir un contrat plus explicite didactiquement avec ses tudiants et de mieux structurer leur mode de collaboration. Ce contrat peut tre vhicul travers une squence dinstructions, ou bien tre englob dans un environnement CSCL. Syntaxe dun scnario CSCL : Un scnario CSCL est une squence de phases travers lesquelles les tudiants doivent passer. Dans un systme informatis, le scnario est sous-tendu par un script qui dtermine le comportement du programme en fonction des diffrentes options. Un script peut tre linaire. La phase (n+1) est toujours prcde par la phase (n). Il peut ne pas tre linaire dans la mesure o les apprenants peuvent sauter quelques phases. Il est cependant plus simple de recourir des scripts linaires. Chaque phase du scnario a cinq attributs : La tche effectuer : rpondre des questions, rsoudre un problme ; La composition du groupe : comment est constitu le groupe, qui est avec qui ; La distribution des tches : qui fait quoi ; Le mode dinteraction : comment communiquent A et B (face face, en ligne, etc.) ; Le temps : dure de la phase, son rang parmi les autres phases. Il existe plusieurs scnarios dapprentissage collaboratif qui peuvent tre intgrs dans lenvironnement dun programme CSCL. Dans le cadre de mon stage, qui sest droul TECFA Seed (Universit de Genve), jai t amen concevoir et mettre en place lun de ces programmes: lArgue Graph. Nous reviendrons plus en dtail sur les principes du script de lArgue Graph dans le chapitre suivant.

3) Quest ce que l Argue Graph et pourquoi?


LArgue Graph est un systme dapprentissage collaboratif qui permettra lenseignant de concevoir des scnarios pdagogiques CSCL bass sur linteraction entre individus faisant partie dun groupe pour rflchir un thme particulier et interagir de manire constructive sur un thme particulier que lenseignant peut dfinir son gr.

3.1) But du projet


L Argue Graph est un script qui a dj t dvelopp deux reprises par TECFA, Universit de Genve. Les deux versions de lArgue Graph taient autonomes dans la mesure o elles tournaient de manire indpendante sur rseau. Mais entre temps (en 2001), TECFA a rejoint le projet europen SEED qui a pour but doffrir aux enseignants un support pour concevoir des activits dapprentissage innovantes et de tirer profit de la technologie offerte par les portails communautaires- que ce soit dans le contexte de leurs classes ou au sein de communauts virtuelles pour collaborer, crer et grer des contenus. Lide tait donc de concevoir et de mettre en place une nouvelle version de lArgue Graph qui puisse sintgrer dans un portail communautaire utilis par TECFA, en loccurrence PostNuke .

Chapitre 1 : Cadre du projet

10

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

3.2) Cadre du projet : Prsentation de TECFA et TECFA Seed


TECFA (Technologies de la Formation et de lApprentissage) est une unit active dans le domaine des technologies ducatives. Elle fait partie de la FPSE (Facult de Psychologie et de lEducation) de lUniversit de Genve, Suisse.

Figure 2 :Logo TECFA

Les recherches TECFA couvrent un large champ d'investigation, incluant : les implications cognitives lies aux nouvelles technologies de l'information et de la communication, l'apprentissage collaboratif, les effets cognitifs des logiciels ducatifs, la collaboration assiste par ordinateur, les systmes d'information en ducation, le multimdia, l'apprentissage et l'enseignement distance. Depuis l'automne 1994 TECFA offre un diplme post gradu (niveau DESS) en Sciences et Technologies de l'Apprentissage et de la Formation (le "STAF"). TECFA a apport son soutien de nombreuses formations, et a particip plusieurs projets europens. Depuis sa cration, ce diplme combine activits en prsentiel (6 semaines par an) et squences de formation distance. TECFA a t un pionnier dans la conception d'un campus virtuel favorisant une approche constructiviste. TECFA collabore plusieurs projets de recherches dans le domaine de lducation. TECFA Seed en fait partie. En effet, Seed est un projet europen qui a pour but lintgration du changement culturel dans le systme scolaire travers la gnration de communauts engages dans lintgration des innovations ducatives et technologiques. Ce projet a vu le jour le 1er Avril 2001 et continuera jusqu Avril 2004. Il est compos de 7 partenaires dont 4 universits : lUniversit de Genve, lUniversit dAthnes, lUniversit dHull et lUniversit de Duisburg.

Figure 3 : Logo Seed

Chaque partenaire du projet sest vu attribuer des tches particulires. TECFA a pris linitiative dlaborer un catalogue regroupant des activits ducatives inspires de scnarios pdagogiques riches pouvant tre adopts par les enseignants.

3.3) Le catalogue TECFA Seed et le scnario Argue Graph


Les C3MS (Community, Content and Collaboration Management Systems) sont des outils modulaires permettant de configurer des sites web communautaires interactifs (portails). Inspirs par la technologie des weblogs , par les systmes simples de gestion de contenus ainsi que par les collecticiels permettant de partager des fichiers ou des calendriers, ces outils
Chapitre 1 : Cadre du projet 11

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

prsentent des caractristiques particulirement intressantes pour servir de support llaboration de scnarios pdagogiques riches (Schneider, Synteta & Fret 2002). Un scnario CSCL, tel que celui de lArgue Graph peut tre traduit sous la forme dun ensemble squence de briques C3MS.

Figure 4 : Structure dun scnario pdagogique dans le catalogue TECFA Seed

Le catalogue TECFA Seed regroupe un ensemble dactivits et scnarios socioconstructivistes et offre aux enseignants une infrastructure leur permettant de sapproprier cette technologie afin de concevoir des activits de groupe et leurs propres scnarios pdagogiques centrs sur lapprenant. Les activits sont structures sous forme dunits que nous appellerons briques C3MS et qui peuvent tre utilises et assembles dans les portails communautaires. Les professeurs peuvent donc choisir un certain nombre de briques en fonction de leurs objectifs dapprentissage et les assembler dans nimporte quel ordre en fonction de leurs objectifs dapprentissage. 3.3.1) Notion de scnario et dactivits dapprentissage Un scnario pdagogique est compos dun certain nombre dactivits. Chaque activit doit gnrer de la curiosit et de la motivation chez lapprenant. Elle doit tre base sur lexploration, la recherche dinformation, lexprimentation et la formulation dhypothses. Les apprenants doivent tre actifs et cratifs et tre amens discuter et cooprer avec les autres pour trouver des solutions. Chaque scnario sera dcrit dans le catalogue travers six attributs : But : Public: Description: Dure: Notes: tapes: But du scnario (script); La tranche dge laquelle est destine le scnario ; Description du scnario ; Estimation de la dure totale du droulement du scnario ; Eclaircissements ou conseils dutilisation ; Description des diffrentes activits faisant partie du scnario.

ces tapes correspondent un ou plusieurs actes simples ralisables laide des diffrentes briques C3MS.
Chapitre 1 : Cadre du projet 12

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Ce scnario est tir du catalogue officiel TECFA Seed. Il reprend le scnario des listes de rfrences.

(1) Liste de rfrences


But: Recherche sur Internet, catalogage, conceptualisation, synthse... Public: 11 ans et plus Description: Les lves doivent travailler sur un thme quils ne matrisent pas, dans le cadre dun projet. Ils ont pour mission de crer ensemble une liste de sites Internet utiles sa ralisation, de les cataloguer et den dcrire le contenu de manire dtaille Dure: De quelques jours quelques semaines Notes: Selon le niveau des lves, le professeur peut choisir de dfinir les catgories avant la recherche. Etapes: 1- Le professeur introduit le thme en donnant des pistes et en demandant aux lves de rflchir aux diffrents aspects du sujet. IntroWork, BrainStorm 2- Les lves cherchent sur Internet en utilisant plusieurs moteurs et annuaires de recherche et les conservent les liens pertinents dans les favoris. SearchWeb, KeepReference 3- Les lves tentent de dgager un certain nombre de catgories et sous-catgories pour ce thme CreateCategories 4- On met en commun les rsultats en les hirarchisant

Nous remarquons que dans la partie Etapes , le scnario est subdivis en activits simples. Pour ce scnario, lune des activits simples est SearchWeb qui se base sur une brique C3MS de type moteur de recherche. Cette activit, ainsi que toutes les autres sont rfrences par la suite dans le chapitre catalogue des actes simples . Pour lacte simple SearchWeb , le chapitre catalogue des actes simples fournit cette description.

(26) SearchWeb
Rechercher des informations sur Internet Briques C3MS: Search Web Il sagit dutiliser un moteur de recherche. Il est possible dinclure un formulaire directement dans le portail (et de restreindre les domaines recherchs)

Lacte simple SearchWeb est son tour associ une brique C3MS Search Web . Cette brique est rfrence dans le tableau des briques C3MS comme suit :

(5) Search Web


Noms de Software: Google search, PN DMOZ Search, Websearch Description fonctionnelle: Recherche sur Internet

Chapitre 1 : Cadre du projet

13

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

3.3.2) Le scnario Argue Graph Le scnario Argue Graph a t inclus dans le catalogue TECFA Seed. Les spcifications du scnario telles quelles apparatront dans le catalogue seront :

(16) Argue Graph


But: Argumentation, conceptualisation, explicitation des ides, explicitation, analyse, synthse Public: partir de 15 ans Description: Il sagit damener les lves se confronter aux points de vue des autres en organisant des discussions par paires ayant des opinions divergentes propos dun thme particulier. Dure: Trois quatre sances. Notes: Les questions doivent tre ouvertes tapes: 1- Le professeur utilise un quiz existant ou en cre un nouveau. 2- Les lves rpondent individuellement au questionnaire en explicitant leurs choix. 3- Les lves visualisent le graphe gnr et en discutent. Interact 4- En fonction des rponses et de leur illustration sur le graphe, le systme ou le professeur forme des paires dlves opposes. 5- Les lves interagissent par paires pour se mettre daccord sur une rponse. Interact 6- Le systme gnre un nouveau graphe et les lves comparent lvolution de leurs opinions. Interact 7- Le professeur organise une sance de dbriefing afin de permettre aux lves de structurer leurs nouvelles connaissances. BrainStorm, Interact, SendFeedBack 8- Les lves rdigent une synthse de ce quils auront appris durant cette activit. EditGlossary, CreatePage, CreateCategories, CoEdit

LArgue Graph, tel que dcrit dans le catalogue, est le scnario CSCL le plus complexe. Avant de dcrire en dtail la conception du nouveau systme, il nous faut explorer de plus prs les caractristiques et les spcifications du script Argue Graph.

Chapitre 1 : Cadre du projet

14

Chapitre 2 : Etude prliminaires et objectifs

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

1) Introduction
Dans cette partie, nous allons nous intresser de plus prs aux spcificits du script Argue Graph. Nous allons dabord dtailler les diffrentes phases qui le composent, nous citerons dans un second temps les spcificits que nous voudrons rajouter par rapport aux anciennes versions et nous conclurons en tablissant un cahier des charges du projet Argue Graph.

2) Le script Argue Graph


LArgue Graph est un systme dapprentissage collaboratif qui permettra lenseignant de concevoir des scnarios pdagogiques CSCL bass sur linteraction entre individus. Nous en dcrivons les caractristiques dans ce qui suit.

2.1) Les phases du script


Le script Argue Graph est bas sur un questionnaire choix multiples se rapportant un thme particulier. Le professeur dtermine, selon le thme, ce que peuvent en tre les points de vue extrmes qui seront au nombre de quatre. Ces quatre positions opposes font rfrences aux quatre extrmits dun repre orthonorm dans un espace deux dimensions. Pour chaque question, le professeur prvoira au moins deux rponses. Il est important de signaler quaucune rponse nest bonne ou mauvaise dans le concept Argue Graph . En effet, chaque rponse reflte une certaine manire de voir les choses par rapport au thme choisi et se rapproche plus au moins de lun des quatre points de vue extrmes dj dtermins. Cest pour cela que pour chaque rponse, le professeur dterminera un couple de coordonnes qui placera lopinion vhicule par la rponse sur le systme axial du thme. Les coordonnes doivent varier entre 1 et 1. Du ct des utilisateurs, qui sont en loccurrence les apprenants, il sagira de rpondre au questionnaire. la fin, la position de lapprenant par rapport au sujet trait sera calcule en additionnant les coordonnes de chacune de ses rponses. Les coordonnes du couple total situeront lapprenant sur lespace bidimensionnel du thme. Le script se droule en 5 phases : 1. Chaque tudiant rpond au questionnaire en ligne. Pour chaque choix, ltudiant tape un argument dans une zone de texte libre. 2. Ds que tous les tudiants ont rpondu toutes les questions, le systme produit un graphe sur lequel ils sont positionns. Les positions sont dduites de la somme des coordonnes de leurs rponses. Les tudiants analysent ensuite le graphe et en discutent. Le systme ou le professeur, rparti ensuite les tudiants par paires en mettant ensemble, autant que possible ceux qui prsentent des opinions les plus divergents. 3. Les paires ainsi composes rpondent ensuite ensemble au mme questionnaire qu ltape 1 et donnent de nouveau des arguments. Le systme affiche les rponses et arguments mis lors de ltape 1. Ils en discutent et essaient de collaborer pour trouver un terrain dentente afin de renvoyer une rponse commune au systme.
Chapitre 2 : Etude prliminaire et objectifs 16

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

4. Ds que toutes les paires dtudiants ont rpondu toutes les questions en mode duo, le systme produit un nouveau graphe. Les positions des paires sont dduites de la somme des coordonnes de leurs rponses communes. Sur le graphe apparatront les positions des tudiants lors de la phase solo et les positions lors de la phase duo. Les tudiants constateront lvolution de leurs opinions. Un rcapitulatif du questionnaire et des statistiques concernant la sance Argue Graph coule seront affichs et utiliss par le professeur pour un dbriefing en face--face. 5. Chaque tudiant crit une synthse de tout ce qui sest dit et de ce quil a appris travers son exprience Argue Graph. La synthse doit tre structure dans un cadre thorique introduit par le professeur pendant le dbriefing. Ce script t utilis avec succs pour enseigner la relation entre les thories de lapprentissage et le design des logiciels ducatifs (Jermann & Dillenburg, 1999). Ce script peut tre gnralis dans tous les domaines pour lesquels des thories multiples coexistent. Trois points sont retenir de lArgue Graph: Le script intgre des activits en ligne ainsi que des activits dites face--face ; Le script nest pas 100% collaboratif: il inclue une phase dinteractions entre les tudiants (3) mais aussi des phases individuelles (1 et 5) et une phase collective (4) ; Le but de ce script est de crer des conflits entre les tudiants et de les engager dans des changes dides afin denrichir leur vision dun domaine donn.

2.2) Pourquoi un nouvel Argue Graph ?


Comme cela a t cit prcdemment, deux versions du script ont t testes TECFA. Lune a t programme en PHP et la seconde en utilisant des applets Java. Ces applications tournaient de manires autonomes sur rseau et malgr quelques lourdeurs constates pour la version Java, elles donnaient des rsultats satisfaisants. Cependant, elles taient peu mallables et peu documentes ce qui compliquait la comprhension de leurs codes source. De plus, ces deux versions tant trs peu portables en dehors de TECFA, lArgue Graph naurait donc pas pu tre intgr dans le catalogue Seed des activits pdagogiques.

Figure 5 : Ancien Argue Graph ralis avec des applets Java

Chapitre 2 : Etude prliminaire et objectifs

17

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

En effet, tout scnario dcrit dans ce catalogue doit pouvoir tre intgr au sein dun portail communautaire sous forme de briques C3MS. Il en dcoule que lintgration dun tel scnario ncessite la programmation dun module complexe compatible avec la technologie du portail qui va lintgrer. Il tait donc ncessaire de reprogrammer lArgue Graph en fonction du portail qui allait lhberger. Sous cette nouvelle forme, lArgue Graph aurait une plate-forme unique qui permettra de lutiliser facilement Il suffira aux utilisateurs dinstaller le portail adquat et dy intgrer le module pour en profiter. Pour TECFA, le portail choisi est le portail PostNuke. Nous y reviendrons plus tard dans la partie ralisation et allons au pralable nous intresser de plus prs cette technologie que sont les portails communautaires.

3) Les portails communautaires


Les portails rassemblent une grande varit de ressources utiles dans une simple page Web. Un portail intgre des dispositifs qui lui permettent non seulement de collecter de l'information, mais lui ajoute une autre dimension lhabilitant construire des communauts. Les portails offrent de multiples services et des interactions avec les personnes et linformation. Ces services sont facilement accessibles travers une interface centralisatrice dont une partie reste disponible tout moment. Ces portails sont des technologies naissantes et voluent trs rapidement ce qui fait quelles nont pas beaucoup t utilises dans l'ducation jusqu'ici. TECFA a dcel un important potentiel dans ces portails; cest ainsi quils ont dcid d'employer cette technologie et de profiter au maximum de ce qu'elle offre.

Figure 6 : Portail TECFA Seed

Typiquement, ces systmes offrent des fonctionnalits comme le weblogging, les news (employ par des nouveaux portails majeurs comme Slashdot), les forums classiques, un calendrier d'vnement, des systmes de partage de liens, etc. En outre, ils mettent en application divers dispositifs dorganisations automatiques bass sur la modration, les calculs et la rputation. Les administrateurs et les utilisateurs peuvent configurer le systme par l'intermdiaire dinterfaces en ligne. Les professeurs sont intuitivement familiers avec beaucoup de ces dispositifs mme sils ne les employaient pas sur un seul systme et/ou sur Internet et ils sont donc disposs les adapter plus ou moins aisment.

Chapitre 2 : Etude prliminaire et objectifs

18

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

3.1) Les fonctions principales dun portail


Les portails communautaires ont deux grandes fonctions qui sont la gestion et lchange. La notion dchange est dailleurs le principe fondamental de la survie de la communaut. Nous dressons, dans ce qui suit, un tableau rcapitulatif des fonctionnalits dun portail communautaire.
Fonction Gestion de contenus Outils Content Management Systems (CMS) Systme de News (rubriques) Hypertextes collaboratifs (Wikis) Albums, Glossaires et autres outils spcialiss Systme de News (avec discussion) et leur syndication Systmes de partage de fichiers avec annotations Systmes de tickets Forums et/ou News Chats, shoutboxes Outils de gestion de projets, Outils "Virtual Teams" Calendriers Gestionnaires de FAQ, de Liens etc. Outils de recherche, box "top 10" etc. Profil et identification des membres Systmes de rputation Trace dactivits des membres (contributions) Calendrier dvnements

change de connaissances

change darguments Gestion et support de projets

Gestion de connaissances Gestion de la communaut

Toutes les fonctionnalits cites dans ce tableau font que lorsquun internaute passe par un portail communautaire, et mme sil nen est pas membre, son passage est comptabilis et retenu pour les statistiques. Il se passe donc toujours quelque chose dans un portail communautaire (contrairement aux pages Web statiques), ce qui explique la russite de cette technologie. Nous pouvons en outre noter que les outils dcrits dans ce tableau sont en fait des briques C3MS comme les forums ou les Wikis .

Figure 7 : Lditeur hypertexte collaboratif Wiki

Chapitre 2 : Etude prliminaire et objectifs

19

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

3.2) lments techniques dun portail


Le tableau suivant dresse les spcificits techniques des portails communautaires.
Administration du site & des contenus avec un outil dadministration Gestion de la forme et autres personnalisations Gestion des blocs et des applications Modration (admission de contenus) Logs Personnalisation Nom de compte (unique pour toutes les applications) Time out pour les sessions Filtres de contenus Administration et gestion de contenus distribus Support SSL (Secure Socket layout) ..... Add-ons Plugins Extensions non-conformes Contenus "interactifs" selon le modle du journal Forums (parfois) Importation de titres provenant dautres sites Boites pour dautres informations Engins de recherche imbriqus Bulletin Boards Forums Mini-questionnaires Calendrier dvnements Glossaire Links manager Chat et Instant Messaging (communication synchrone) Gestionnaire de photos et de musique Content management qui permet dentrer de linformation structure Hypertextes collaboratifs (Wikis) Recommandations .... Permissions selon outil et appartenance un groupe Multi-langage Notifications par mail Information sur les utilisateurs (connexions, contributions, rputations) Systme de rputation

Autorisation & Scurit Catgories dutilisateurs de base: administrateur, utilisateur, invit. Droits diffrencis pour chaque application: administration, modification, ajout, consultation, .... Mcanismes dextensions Application Programmers Interfaces (API) pour dveloppeurs Facilit dinstallation Fonctionnalits de base Lengin des nouvelles est au centre (principe dorganisation par section) et chronologique Extensions Beaucoup de petites applications Internet sont en train dtre intgrs dans les portails La plupart des portails ont un site ddi aux extensions. On distingue souvent entre modules officiels, modules bta et modules non supports.

Utilitaires additionnels pour utilisateurs

Chapitre 2 : Etude prliminaire et objectifs

20

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

3.3) Modules et blocs


Les portails communautaires sont constitus par des modules et des blocs. Les modules reprsentent des applications complexes qui font appel gnralement une interface dadministration (accessible seulement aux administrateurs du site ou aux utilisateurs ayant des droits dadministration) et une interface utilisateur. Linterface administrateur permet de paramtrer les applications en fonction des buts et objectifs des activits quelles engendrent. Le module Galerie Photo, par exemple, a une interface administrateur qui gre les droits daccs des utilisateurs aux diffrents albums photos du site. Du ct des utilisateurs, un membre nayant pas droits de lecture sur un album peut ne mme pas savoir quil existe... Les blocs sont par contre des cadres enveloppant des mini-programmes qui prennent place en gnral sur les parties latrales du portail. Un bloc a peu ou pas de fonctionnalits pour les utilisateurs simples. Ils servent informer, situer ou mettre en valeur des informations importantes. Nous pouvons citer comme exemple de blocs le bloc Favourite Links que jai programm pour le compte de TECFA en guise de familiarisation avec les portails PostNuke. Ce bloc permet dafficher droite du portail TECFA Seed les liens favoris du moment (Une description de ce bloc se trouve lannexe 1 de ce document page 64). Un autre exemple de blocs plus connu : le bloc Qui est en ligne qui affiche une liste des membres connects au site. Les modules peuvent avoir leurs propres blocs.

Figure 8 : Aspect gnral d'un portail communautaire

Un portail communautaire est en fait une mosaque de blocs quun administrateur peut modeler sa faon. La figure 7 illustre en gros laspect que peut avoir un portail communautaire.

Chapitre 2 : Etude prliminaire et objectifs

21

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

4) Cahier des charges


Aprs avoir dcrit les caractristiques du script Argue Graph et les spcificits des portails communautaires, nous pouvons tablir le cahier des charges du projet Argue Graph que lon ma attribu TECFA. Le but du projet est donc de concevoir et de mettre en place un module ArgueGraph pour des portails PostNuke. Le module concevoir devra offrir les services suivants : Une interface pour la gestion des questionnaires ; Une interface pour la modration et le dploiement du script ct administrateur ; Une interface pour le dploiement du script ct utilisateur ; Une interface pour lchange de questionnaires sous forme de fichiers. Le dernier point concernant lchange de questionnaires est un service supplmentaire par rapport aux deux anciennes versions de lArgue Graph. Lajout de ce service est cependant naturel puisquil rentre dans le cadre des changes et de la collaboration au sein de la communaut, principes fondamentaux des portails communautaires. Ce service dchange permettra aux professeurs dchanger des fichiers-questionnaire quils pourront rutiliser, modifier et appliquer leur propres tudiants. Le module devra tre sous la forme dun package runissant tous ses fichiers et rpertoires ainsi que des fichiers explicatifs concernant son installation et son utilisation.

Chapitre 2 : Etude prliminaire et objectifs

22

Chapitre 3 : Etude dtaille et conception

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

1) Introduction
Dans ce chapitre, nous allons tout dabord spcifier les besoins du module Argue Graph concevoir travers une tude dtaille des fonctionnalits que devra offrir lapplication. Nous enchanerons ensuite par la modlisation des besoins fonctionnels de lapplication qui reprsente en gros la partie conception du projet.

2) Spcification des besoins fonctionnels du module Argue Graph 2.1) Vue globale
Lobjectif de lapplication dvelopper consiste offrir aux professeurs un outil qui leur permette de dployer le script Argue Graph et dorganiser ainsi plusieurs scnarios pdagogiques CSCL. Lapplication devra supporter deux modes de dploiement : Le mode en ligne dans le cas o les apprenants devront discuter, collaborer et chercher des solutions communes distance; Le mode face face dans le cas o les apprenants sont en classe . Ainsi, le professeur aura le choix de faire drouler ses phases 1 ou 3 ou les deux en classe ou la maison . Dun autre cot, lapplication tant destine tre intgre dans un portail communautaire du type PostNuke, elle aura donc deux interfaces principales : une interface administrateur et une interface utilisateur. Linterface administrateur accessible aux professeurs intgrera toutes les fonctionnalits ncessaires la gestion et au dploiement du script Argue Graph. Les fonctionnalits que devra offrir linterface administrateur sont : Gestion des questionnaires : ajout, modification, suppression ; Gestion des scnarios dutilisation : programmation et dprogrammation des scnarios, organisation des groupes dutilisateurs pour chaque scnarios ; Modration des sances : formation de paires de partenaires pour le mode duo (phase 4), accs aux statistiques et aux rsultats des diffrentes phases ; Gestion des tlchargements et les changes de fichiers : cration de fichiers XML partir des questionnaires, publication de ces fichiers afin quils puissent tre tlchargs par dautres professeurs. Linterface utilisateur devra offrir ltudiant ou au participant dun scnario Argue Graph les fonctionnalits suivantes : Une interface conviviale pour le dploiement du scnario : rpondre au questionnaire, collaborer, analyser les rsultats, etc. ; Une interface tlchargements : un espace rserv aux fichiers questionnaires XML publis par les administrateurs du systme.

Chapitre 3 : Etude dtaille et conception

24

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

2.2) Vue dtaille


Le module Argue Graph concevoir vise deux catgories dutilisateurs. Dun cot, les administrateurs (professeurs, modrateurs, assistants, etc.) et de lautre, les utilisateurs simples (apprenants, tudiants, lves, etc.). Cette classification implique la ncessit de passer par un systme dauthentification et de scurisation afin de rserver les privilges dadministration seulement aux personnes autorises. 2.2.1) Systme dauthentification, de permissions et de profils utilisateurs Pour restreindre laccs au module Argue Graph, il est ncessaire de prvoir un systme dauthentification et de permissions. Le systme dauthentification permettra de ne laisser laccs au module quaux personnes connectes au portail. Le systme de permissions restreindra laccs linterface administrateur aux administrateurs et aux personnes habilits cet effet ; linterface utilisateur tant accessible tout membre ayant une session ouverte sur le portail. Nous ne nous attarderons pas sur cette partie du systme puisque les portails communautaires sont dots de systmes dauthentification et de permissions qui grent les sessions des utilisateurs inscrits et les droits daccs aux diffrents modules et interfaces. Laccs au module Argue Graph sera donc gr par le systme dauthentification du portail qui lhbergera et non pas par le module lui-mme. 2.2.2) Interface administrateur Les privilges dadministration du module sont confis automatiquement ladministrateur du portail. Dautres membres du portail peuvent obtenir ces privilges et ainsi accder cette interface. Les professeurs, les assistants ou toute personne voulant dployer des scnarios Argue Graph devra avoir accs cette interface qui propose un grand choix de fonctionnalits. Gestion des questionnaires Gnration manuelle dun questionnaire Ladministrateur fournit le nom, la description, une URL de soutien (optionnelle) et une amorce thorique (optionnelle) qui peut tre visualise par les apprenants soit au moment de rpondre aux questionnaire o pendant le dbriefing. Il doit aussi dfinir le nom des quatre extrmits des axes de son espace bidimensionnel (voir Chapitre2 au 2.1 Spcification et phases du script) et le poids de chacun des axes. Par dfaut, chaque axe a un poids gal 1. Ensuite, ladministrateur doit introduire ses questions et les rponses correspondantes. Pour chaque rponse, il peut dfinir une URL et une note de soutien. Il doit ensuite dterminer les coordonnes de chaque rponse sur le repre dfini prcdemment. Chaque rponse a des coordonnes 2D qui peuvent varier entre 1 et 1. Deux rponses peuvent avoir les mmes coordonnes.

Chapitre 3 : Etude dtaille et conception

25

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Ladministrateur peut dcider si oui ou non, ses URL et notes de soutien doivent tre affiches au moment o llve rpond ses questions o au moment du dbriefing. Pour chaque questionnaire correct et valid, un fichier du questionnaire en XML est automatiquement cre par le module et plac dans un dossier part pour la gestion des tlchargements (voir plus loin). Gnration de questionnaires par copies Ladministrateur pourra copier un questionnaire existant dans la base de donnes. Ceci est possible en recopiant tous les champs du questionnaire source. Gnration de questionnaires par fichiers XML Ladministrateur peut utiliser un questionnaire conu par dautres utilisateurs sur dautres site. Ceci est possible travers des fichiers questionnaire au format XML. Le module pourra tlcharger ces fichiers, les dcoder (parsing), les valider puis les introduire dans la base de donnes du systme. Modification des questionnaires Ladministrateur aura la possibilit de modifier les questionnaires existants. Les modifications portent sur les caractristiques du questionnaire (nom, description, etc.) et sur le contenu (questions et rponses). Il est important de signaler que lorsquun questionnaire a t dj utilis ou lorsquil est en cours dutilisation (ce quon qualifiera de questionnaire actif), il nest pas possible de le modifier pour des raisons de cohrences. Dans ce cas l, il est possible de modifier le questionnaire en procdant une recopie du questionnaire original (voir Gnration de questionnaires par copies). La copie aura videmment un nom diffrent du nom du questionnaire original. Suppression dun questionnaire Un questionnaire ne peut tre supprim que sil nest pas en cours dutilisation. La suppression dun questionnaire entranera automatiquement la suppression de son historique dutilisation et des graphiques qui lui appartiennent. Gestion des sances Argue Graph Nous appellerons sance dutilisation ou sance Argue Graph, le dploiement dun scnario Argue Graph sur un groupe dapprenants. Cette partie gre donc les sances dutilisation des questionnaires. Programmation dune sance Argue Graph Ladministrateur doit slectionner le groupe dapprenants qui devra participer la sance Argue Graph. Le nombre de participants doit imprativement tre pair. Ladministrateur devra aussi dterminer qui modrera la sance. En gnral, cest le professeur qui a cette fonction. Au cas o le nombre dutilisateurs est impair, le modrateur sera amen participer la

Chapitre 3 : Etude dtaille et conception

26

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

sance Argue Graph pour laquelle il aura deux rles : celui du modrateur et celui de lapprenant. Une fois tout cela valid, la sance est programme et restera en tat dattente dactivation. Les questionnaires ne peuvent tre utiliss deux fois par le mme groupe dutilisateurs. Dprogrammation et suppression dune sance Argue Graph Ladministrateur ne peut dprogrammer une sance que si elle nest pas entame. Il peut cependant supprimer une sance nimporte quel moment. Dans ce cas, tout ce qui se rapporte la sance, comme par exemple les rsultats ou les graphiques, seront automatiquement supprims. Modration des sances Cette fonctionnalit est celle qui se rapporte le plus au dploiement du script Argue Graph. En effet, la modration dune sance Argue Graph consiste lancer et suivre le droulement des diffrentes phases du scnario, choisir et valider la rpartition des groupes en paires lors de la phase 3 et temporiser laffichage des rsultats et statistiques. Il est donc ncessaire de prvoir une classification des diffrents statuts du scnario qui nous permette de dterminer ltat davancement dune sance Argue Graph. Statut des sances Argue Graph Une sance Argue Graph passe par plusieurs tats qui dpendent en fait des cinq phases du script. Une sance programme mais pas encore entame sera note En attente . Une sance acheve sera marque par Termine . Une sance entame mais non termine sera note En cours . Comme la sance En cours passe par plusieurs phases, il est judicieux de subdiviser ce statut en plusieurs tats secondaires qui permettront ladministrateur de savoir exactement o en sont les choses. Nous dressons un tableau qui explicite exactement les diffrents tats et sous-tats dune sance Argue Graph. Nous y dcrivons aussi les conditions ncessaires pour passer dun tat un autre. Etat Code Sous-tat En attente 0 Entame Phase 1 en cours (Mode Solo) Phase 1 termine Rsultats non communiqus Rsultats de la phase 1 En attente de la phase 2 Phase 2 en cours (Mode Duo) Phase 2 termine (Mode Duo) Rsultats non communiqus Termine 2 Code Conditions de passage 11 110 119 12 120 Activation de la sance Tout le groupe a rpondu toutes les questions Rsultats publis Rpartition en paires valide Activation de la Phase 2 Toutes les paires ont rpondu toutes les questionnaires Publication des rsultats finaux

Tableau 1: Les diffrents tats d'une sance Argue Graph

Chapitre 3 : Etude dtaille et conception

27

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Rpartition du groupe en paires de partenaires Aprs avoir termin ltape solo, les apprenants ne pourront passer ltape duo quaprs que le professeur ait valid la rpartition du groupe en paires. Une liste de paires est automatiquement gnre par un algorithme du module une fois la phase 1 termine. Cette liste pourra tre utilise par le professeur. Nanmoins, celui-ci pourra sil le veut, rpartir le groupe en paires manuellement. Rsultats et statistiques Laffichage des rsultats est trs important lors des deux phases du script. Un bon affichage des rsultats de chaque phase argument par des statistiques, ne peut que favoriser et enrichir davantage les dbats et donc lapprentissage collaboratif. Lors de ltape solo, les rsultats seront affichs sous forme de graphique. Le graphe reprsentera la position de chaque participant par rapport au thme du questionnaire. Nous appellerons ce graphe le graphe solo. Lors de ltape duo, laffichage des rsultats comprendra la liste de toutes les paires dutilisateurs, un accs direct au dtail de leurs rponses et arguments ainsi que le graphique final qui reprsentera les deux positions (Mode Solo et Mode Duo) de chaque participant par rapport au thme du questionnaire. Laccent sera mis sur la variation de la position de chaque utilisateur entre les deux phases. Nous appellerons ce second graphe le graphe duo. Un rcapitulatif du questionnaire ainsi que des statistiques sur les rponses mises lors de la sance alimenteront davantage le dbat. Les rsultats de chaque groupe, sauf en cas de suppression par ladministrateur, sont sauvegards et sont accessibles depuis lhistorique des questionnaires. Gestion des groupes dutilisateurs Cette fonctionnalit ntait pas prvu au dpart. Cependant, nous avons pens que les professeurs auront besoin dutiliser des groupes dtudiants qui ne varient pas souvent. En effet, un professeur ayant par exemple trois classes dtudiants aura, pour des raisons pratiques, tendance toujours recours aux mmes trois groupes pour ses scnarios Argue Graph. Cest pour cela que le module intgrera des fonctionnalits de gestions de groupes dutilisateurs. Les membres des groupes dutilisateurs seront puiss depuis la table des utilisateurs du portail. La rutilisation des mmes groupes pour dautres scnarios en sera davantage facilite. Le gestion des groupes comprendra des fonctionnalits dajout, de modification et de suppression de groupes. Gestion des tlchargements Pour renforcer laspect de collaboration et dchange communautaire, il tait donc ncessaire de prvoir un outil qui puisse permettre aux professeurs de schanger leurs expriences Argue Graph. Ceci sera possible grce au gestionnaire de tlchargements.

Chapitre 3 : Etude dtaille et conception

28

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Nous savons que lorsque les questionnaires sont valids, des fichiers XML leur correspondant sont automatiquement gnrs. Ladministrateur peut dcider si oui ou non, le fichier peut tre publi sur linterface utilisateur afin quil puisse tre tlcharg par la communaut utilisant Argue Graph. Le gestionnaire de tlchargements est bijectif aussi dans la mesure o il permet de dcoder des fichiers questionnaire XML, de les introduire dans la base de donnes du systme et donc dutiliser des questionnaires trangers . 2.2.3) Interface utilisateur Cette interface est accessible en ouvrant une session sur le portail communautaire et ne ncessite aucune permission particulire. Au lancement de cette interface, lutilisateur (apprenant, lve, tudiant, etc.) a accs une liste de toutes les sances o il est ou a t programm. Le statut de chaque sance affich sur cette liste (voir tableau de la page 27) permettra de diriger lapprenant vers une fonctionnalit de linterface utilisateur. Si ltat de la sance est En attente (Etat 0), lapprenant ne pourra rien faire. Autrement, chaque autre tat ou sous-tat correspond une fonctionnalit que nous dcrivons dans ce qui suit. Rpondre au questionnaire en phase 1 (mode solo) : Etat11 Linterface affiche une question la fois. La page de rponse comprendra la question, les rponses correspondantes, une zone de texte pour les arguments et, si applicable, des notes et des URL de soutien. Lutilisateur peut rpondre aux questions de faon alatoire. Il peut modifier ses rponses tant quil na pas valid et envoy sa copie de rponse au serveur. Rcapitulatif des rponses de la phase 1 (mode solo) : Etat 110 Tant que les autres utilisateurs nont pas termin de rpondre la phase 1 et que ladministrateur na pas valid la rpartition des utilisateurs en paires et publi les rsultats, linterface utilisateur affichera un rcapitulatif des questions, rponses et arguments du participant. Rsultats de la phase 1 (mode solo) : Etat 119 Lutilisateur naccde ses rsultats que lorsque ladministrateur dcide de publier les rsultats de la phase 1. Les rsultats se composent du graphe solo, dun rcapitulatif des questions, rponses et arguments du participant lors de la phase 1 et dun tableau listant la rpartition du groupe en vue de la phase duo. Rpondre au questionnaire de la phase2 (mode duo) : Etat 12 Deux options se prsentent pour rpondre au questionnaire : continuer sur la mme station de travail ou continuer sur celle du partenaire, sachant quune seule copie de rponses sera envoy au serveur. Si le travail est fait en classe et que le professeur insiste pour que les deux partenaires se mettent ensemble pour collaborer et envoyer les rponses communes, lun des

Chapitre 3 : Etude dtaille et conception

29

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

deux participants quittera son poste et rejoindra son partenaire. Dans ce cas l, il dcidera de continuer sur la machine de son collgue. Si le travail se passe distance, le module devra fournir un outil do communication entre les deux partenaires comme par exemple un simple chat box. L aussi, lun des deux partenaires dcidera de rpondre aux questions pour la paire. Rpondre aux questions deux se droule comme en mode solo, sauf quen plus davoir les questions et les rponses, les deux partenaires ont accs leurs rponses et arguments respectifs de la phase 1. Ceci a pour but de crer un conflit dopinion entre les deux partenaires quil faudra rsoudre en collaborant afin denvoyer une rponse et une argumentation communes. Rcapitulatif des rponses de la phase 2 (mode duo) : Etat 120 Tant que les autres paires dutilisateurs nont pas termin de rpondre la phase 2 et que ladministrateur na pas publi les rsultats, linterface utilisateur affichera un rcapitulatif des questions, rponses et arguments de la paire en phase 2 et des deux partenaires en phase 1. Rsultats et statistiques finaux : Etat 2 Lutilisateur naccde aux rsultats finaux que lorsque ladministrateur dcide de les publier. Les rsultats finaux se composent du graphe duo, dun rcapitulatif des toutes rponses et argumentations lors des deux phases, dune liste des paires qui ont rpondu et dun lien vers une interface statistique.

3) Description de la conception
Une fois les besoins fonctionnels recenss, nous pouvons entamer la phase de conception. Pour la conception du module Argue Graph nous avons opt pour la modlisation UML (Unified Modeling Language). Les raisons qui ont motiv notre choix sont les suivants : UML permet de bien cadrer lanalyse en reprsentant le systme selon diffrentes vues complmentaires aux diagrammes ; UML permet dexprimer et dlaborer des modles objet, indpendamment de tout langage de programmation. Dans cette partie, nous allons reprsenter une perspective du module travers quelques diagrammes UML qui nous serviront par la suite de support pour la phase de ralisation.

3.1) Modlisation du contexte du systme


Dans cette tape de modlisation, il sagit de dcrire le contexte du systme. Pour se faire, il faut identifier les acteurs qui vont agir sur le systme et les messages quils vont changer avec le module. 3.1.1) Les acteurs Un acteur est une entit externe qui agit sur le systme (oprateur, autre systme...) en consultant son tat ou en le modifiant. En rponse l'action d'un acteur, le systme fournit un service qui correspond son besoin. Les acteurs peuvent tre classs (hirarchiss).

Chapitre 3 : Etude dtaille et conception

30

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Les acteurs (utilisateurs) qui vont interagir avec le module Argue Graph sont: Ladministrateur : cest le professeur, assistant ou encadreur qui va grer les questionnaires et modrer les sances Argue Graph. Les participants : ce sont les apprenants en gnral qui vont participer aux sances Argue Graph. Un administrateur peut participer aux sances Argue Graph. Dans ce cas, il endosse les deux rles prvus pour les utilisateurs de ce module.

Figure 9 : Les acteurs du module Argue Graph

Le figure 8 nous donne dj quelques indications sur lune des classes de notre module : la classe utilisateur (user). 3.1.2) Les messages Linteraction entre le systme et les acteurs se fait travers les messages. Un message envoy par un acteur permettra de dclencher une srie dvnements dans le systme. Lactivit du systme gnrera un rsultat transmis lacteur sous forme de message. Le diagramme de contexte dynamique de lapplication permet de visualiser les interactions de lapplication avec les acteurs.
Ajouter un questionnaire Modifier un questionnaire Supprimer un questionnaire Programmer une sance Dprogrammer une sance Former un groupe Former la liste des paires Lancer une sance Publier les rsultats de la phase solo Publier les rsultats finaux ArgueGraph Rpondre au questionnaires en phase1 Rpondre au questionnaires en phase2 Visualiser les rsultats des sances Tlcharger des fichiers XML

Administrator Liste des questionnaires Planning des sances Formulaires pour nouveaux questionnaires Etat d'avancement des sances Liste des Groupes Liste d'utilisateurs Liste de fichiers XML Dtails d'un questionnaire Rsultats finaux Rsultats de la phase solo Planning des sances Questionnaires Rsultats de la phase solo Chat box Rsultats finaux Liste de tlchargements

Participant

Figure 10 : Diagramme de contexte dynamique de l'Argue Grpah

Chapitre 3 : Etude dtaille et conception

31

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

3.2) Modlisation des besoins fonctionnels


La modlisation des besoins fonctionnels est la premire tape du processus de dveloppement orient objet. Elle permet de complter le premier recensement des besoins (effectu pendant ltude prliminaire) en identifiant les diffrents cas dutilisation et ceci en les dcrivant et organisant en blocs fonctionnels. Cette tape permet aussi de prparer lanalyse oriente objet en identifiant les classes candidates pour chaque cas dutilisation 3.2.1) Identification des cas dutilisation Les cas dutilisations (use cases) permettent de structurer les besoins des utilisateurs et les objectifs correspondants dun systme. Ils centrent l'expression des exigences du systme sur ses utilisateurs : ils partent du principe que les objectifs du systme sont tous motivs. Les cas dutilisations se limitent aux proccupations "relles" des utilisateurs ; ils ne prsentent pas de solutions d'implmentation et ne forment pas un inventaire fonctionnel du systme. Les cas dutilisation servent donc identifier linteraction des utilisateurs du systme (acteurs) avec le systme. Ils permettent de classer les acteurs et structurer les objectifs du systme. Ils servent de base la traabilit des exigences d'un systme dans un processus de dveloppement intgrant UML. Les uses cases peuvent tre organiss en paquetages (packages). Ils regroupent des lments de modlisation, selon des critres purement logiques. Les paquetages peuvent donc regrouper plusieurs cas dutilisations qui partagent les mmes ressources, les mmes utilisateurs, le mme thme ou la mme philosophie. Pour le module Argue Graph, deux grands paquetages principaux se sont dgags : Administration du module ; Dploiement du script. 3.2.1.1) Package Administration du module

Le package Administration du Module regroupe les cas dutilisations qui sont rservs aux administrateurs du module. Ils sont au nombre de trois.

Gestion des questionnaires

Administrator (from Logical View)

Programmation des sances

Gestion des tlchargements

Figure 11 : Package Administration du module

Chapitre 3 : Etude dtaille et conception

32

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Gestion des questionnaires Ce cas dutilisation regroupe toutes les fonctionnalits de gestion des questionnaires : ajout manuel, ajout par copie, ajout par fichier XML, modification, suppression, validation et activation. Programmation de sances Ce cas dutilisation regroupe toutes les fonctionnalits qui se rapportent la programmation des sances. Nous pouvons encore subdiviser ce cas dutilisation en deux sous-parties : Gestion des groupes de participants : ajout, suppression et modification des groupes ; Programmation des sances : programmation et dprogrammation. Gestion des tlchargements Ce cas dutilisation regroupe toutes les fonctionnalits qui grent les changes des fichiersquestionnaire XML : publication dun fichier, suppression dun fichier et tlchargement dun fichier. 3.2.1.2) Package Dploiement du script

Ce package regroupe les cas dutilisation directement impliqus dans le processus de dploiement du script Argue Graph. Les acteurs de ce package sont les administrateurs pour la modration des sances et les participants aux sances Argue Graph pour le dploiement du script ct apprenant.

Participation la sance

Administrator (from Logical View) Modreration

Partic ipant (from Logical View)

Figure 12 : Package Dploiement du script

Participation la sance Ce cas dutilisation regroupe les fonctionnalits ncessaires au dploiement du script ct participant : formulaire de rponse en mode solo, affichage des rsultats de la phase solo, formulaire de rponse en mode duo et affichage des rsultats et statistiques finaux. Ladministrateur peut participer lArgue Graph en tant que participant simple. Modration La modration est exclusive ladministrateur. Les fonctionnalits de ce cas dutilisation sont donc: le suivi de la progression du script (pendant toute la dure du scnario), la rpartition du

Chapitre 3 : Etude dtaille et conception

33

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

groupe dapprenants en paires, la publication des rsultats de la phase solo et la publication des rsultats finaux. 3.2.2) Diagrammes de collaboration Les diagrammes de collaboration dcrivent des interactions entre objets qui peuvent tre des instances de classes ou des acteurs. Ils peuvent nous aider mieux cerner les classes qui vont participer chaque package. Un diagramme de collaboration peut tre obtenu partir dun digramme de squence qui est plus simple raliser. En effet, les diagrammes de squences permettent de reprsenter des collaborations entre objets dun point de vue temporel, on y met l'accent sur la chronologie des envois de messages. Ils sont ainsi plus simples raliser tant donn quils illustrent les cas dutilisation et quils se rapprochent le plus de la faon dont le programmeur conoit le droulement chronologique de son application. Dans ce qui suit, nous prsentons quelques diagrammes de collaboration pour chaque package afin den dduire les classes participantes au module. 3.2.2.1) Package Administration du module

La cration dun nouveau groupe de participants est une des fonctionnalits du package Administration du module . Le diagramme de squence suivant rcapitule chronologiquement les interactions entre les diffrentes classes du module pour aboutir la cration et la sauvegarde dun nouveau groupe de participants.

: Administrator 1: New( )

: Group

: (Us er)

: ArgueGraph

2: Load( )

3: AddUser( )

4: AddGrouptoDB( )

5: New( )

6: ShowGroups ( )

Figure 13 : Diagramme de squence Nouveau groupe

Chapitre 3 : Etude dtaille et conception

34

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Trois classes participent cette fonctionnalit : la classe utilisateur, la classe groupe et la classe Argue Graph. Des instances de la classe user sont cres et charges partir du code de lutilisateur. Chaque utilisateur est rajout tableau dun Group . La liste est ensuite sauvegarde dans la base de donne laide de la mthode AddGrouptoDB (en 4). Le tout est affich par une instance de la classe ArgueGraph . Le diagramme de collaboration Nouveau groupe est dduit du diagramme de squence.
5: New( ) 6: S howG roups ( )
: A rgueG raph
: A dm inis trator

1: New( )
4 : Ad dGr oupt oDB ( )

3: A ddUs er( )
: G roup

: (Us er)

2: Load( )

Figure 14 : Diagramme de collaboration Nouveau groupe

3.2.2.2)

Package Dploiement du script

Pour ce package, nous prsentons deux diagrammes de collaboration. Le diagramme de collaboration suivant concerne la fonctionnalit Rpondre en mode solo et plus exactement le processus daffichage du formulaire de rponse une question donne en mode solo.
9: ShowAnswersSolo( )

5: Load( ) 8: ShowToUser( ) : Quiz 4: Load( ) : Participant 6: UserLinks( ) : Question 10: QuestionP ositionerSoloMode( )

2: Load( ) 3: CheckStep1( )

1: Load( )

7: Show( )

: Schedule

: ArgueGraph

Figure 15 : Diagramme de collaboration Rpondre en mode solo

Chapitre 3 : Etude dtaille et conception

35

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Pour ce diagramme, cinq classes sont utilises. Afin dafficher le formulaire de rponse, une instance de classe user reprsentant un participant vrifie que celui-ci na pas termin la phase solo dune sance donne (classe Schedule ) laide de la mthode CheckStep1 (en 3). Dans le cas o il na pas encore renvoy sa copie des rponses, un objet ArgueGraph affiche le formulaire de rponse ( ShowAnswersSolo en 9) . Le diagramme de collaboration Rpondre en mode duo est un peu plus complexe.
1: Load( )

4: Load( )

2: Load( ) 5: CheckStep2( )
: Schedule

3: FindPartner( )

12: ShowAnswersDuo( )

: Participant

part ner : Part icipant

11: ShowPairAnswers( )
6: Load( )
: Questi on

7: Load( ) 10: ShowToUser( )

8: UserLinks( )

13: QuestionPositionerDuoMode( )
: Quiz : ArgueGraph

9: Show( )

Figure 16 : Diagramme de collaboration Rpondre en mode duo

Une instance de la classe user reprsentant un participant donn dtermine dabord son partenaire du mode duo grce la mthode FindPartner (en 3). Ensuite, la mthode CheckStep2 (en 5) vrifie que le participant na pas valid sa copie des rponses pour le mode duo. Si ceci savre vrai, une instance ArgueGraph affiche le formulaire de rponse ( ShowAnswersDuo en 12) ainsi que les rponses individuelles de chaque membre de la paire lors du mode solo ( ShowPairAnswers en 11). 3.2.3) Identification des classes Les diagramme de collaboration et les packages des cas dutilisation nous permettent de dterminer les classes qui vont tre utilises dans le module Argue Graph. Classe ArgueGraph Quiz Question Answer User Group Schedule Results XML Description Construction et affichage des interfaces. Classe relative aux questionnaires : gestion et affichage. Classe relative aux questions : gestion et affichage. Classe relative aux rponses : gestion et affichage. Classe relative aux utilisateurs du portail : identification. Classe relative aux groupes de participants : gestion et affichage. Classe relative aux sances Argue Graph : gestion et contrle du droulement des sances, affichage des rsultats et cration de graphes. Classe relative aux scores : calcul des rsultats de chaque tape. Classe relative aux fichiers-questionnaire XML : gestion et dcodage.

Chapitre 3 : Etude dtaille et conception

36

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Pour le package Administration du module les classes participantes sont traduites sur la figure suivante :
Q u iz q u iz id qnam e d e s c rip t io n u rl n o te xnam e x w e ig h t ynam e y w e ig h t a c t i ve 1

0 ..n

S c h e d u le s c h e d u le id q u iz id m o d e ra t o r g ro u p d a te t im e s ta tu s

P a rt ic ip a t e

G e n e ra t e

G roup g ro u p id u s e ri d g ro u p n a m e r ea d y a c ti ve owner 0 ..n

XM L fi le p a th qnam e d e s c r ip t io n 1 ..n Q u e s t io n q u iz id q u e s t id q u e s t io n d e s c rip t io n 1 d is p la y u rl n o te A nswer q u iz id q u e s t id a n s id d e s c r ip t io n u rl n o te X Y User

1 ..n

Figure 17 : Diagramme de classes du package Administration du module

En ce qui concerne le package Dploiement du script , les classes participantes sont les suivantes :
Quiz quizid qname description url note xname 1 xweight yname yweight active 1 Schedule scheduleid quizid moderator group date time status

Participate

0..n

Group groupid 0..n userid groupname ready active owner

User

has

1..n Question quizid questid question description 1 display url note

1..n

Answer quizid questid ansid description url note X Y

Results scheduleid questid userid anssolo argsolo partner ansduo argduo

Figure 18 : Diagramme de classes du package Dploiement du script

Chapitre 3 : Etude dtaille et conception

37

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

3.2.4) Diagramme de dploiement Les diagrammes de dploiement montrent la disposition physique du matriel qui compose le systme et la rpartition des composants sur ce matriel. Les ressources matrielles sont reprsentes sous forme de nuds. Les nuds sont connects entre eux, l'aide d'un support de communication. La nature des lignes de communication et leurs caractristiques peuvent tre prcises. Ils peuvent montrer des instances de nuds (un matriel prcis), ou des classes de nuds.

Figure 19 : Diagramme de dploiement du module Argue Graph

La figure 19 illustre clairement la relation triangulaire entre le portail, le module et la base de donnes. Ainsi, un client qui se connecte au serveur et qui veut accder au module Argue Graph doit tout dabord sauthentifier au prs du portail. Cette authentification ncessite une connexion entre le portail et la base de donnes. Une fois authentifi, le portail appelle le module Argue Graph qui se charge en information en se connectant de nouveau la base de donnes.

Chapitre 3 : Etude dtaille et conception

38

Chapitre 4 : Ralisation

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

1) Introduction
Une fois ltude conceptuelle de lapplication acheve, nous entamons la description de la phase de ralisation o nous spcifierons les diffrents outils utiliss et les mthodologies les plus intressantes qui vont permettre la mise en place du module Argue Graph.

2) Environnement technique
Nous prsentons dans cette partie lenvironnement technique du module Argue Graph. Nous soulignons le fait que cet environnement est compos dapplicatifs dits Open Source. Le mouvement Open Source fait qu'il est possible tous d'utiliser et de modifier librement un logiciel. En effet, quiconque est enclin tudier le code source peut le modifier pour l'adapter ses besoins. Lutilisation des logiciels libres va de paire avec lesprit de collaboration et dchange communautaire.

2.1) PHP
PHP (officiellement "PHP: Hypertext Preprocessor") est un langage de script HTML. Le langage PHP possde les mme fonctionnalits que les autres langages permettant d'crire des scripts CGI, comme collecter des donnes, gnrer dynamiquement des pages web ou bien envoyer et recevoir des cookies. Ce qui distingue le PHP des langages de script comme le Javascript est que le code est excut sur le serveur. Ainsi, il n'y a aucun moyen de distinguer les pages qui sont produites dynamiquement des pages statiques. La plus grande qualit et le plus important avantage du langage PHP est le support d'un grand nombre de bases de donnes. Raliser une page web dynamique interfacant une base de donns est donc extrmement simple. Le langage PHP inclus aussi le support des services utilisant les protocoles tels que IMAP, SNMP, NNTP, POP3 ou encore http ainsi que de nombreuses librairies intgres telles que la librairie graphique GD ou la librairie XML. Des connexions et interactions peuvent tres supports utilisant d'autres protocoles. De plus, contrairement dautres langages comme Java, PHP est la port des non informaticiens qui savent programmer. Un diplm en technologies ducatives pourra comprendre du code PHP mais ne pourra gnralement pas intervenir sur du code Java plus complexe.

2.2) PostNuke
PostNuke est un projet de dveloppement qui est apparu partir d'un autre PHP appel PHPNuke aprs que les utilisateurs ont exprim un certain mcontentement lgard de certaines de ses fonctionnalits. PostNuke est un systme de gestion de contenus (CMS : content management system) conu avec le langage populaire PHP. CMS rduit le temps dlaboration, tend sophistiquer le panneau dadministration et spare la forme du contenu permettant le travail dans un environnement structur pour rapidement livrer des contenus tels que les articles, rsums, liens, nouvelles, temps, questions frquemment poses, chat, gestionnaires de dossier tels que les sections de tlchargement La version actuelle de PostNuke (Fvrier 2003) est la 0.723. Elle peut tre tlcharge partir du site www.postnuke.com. Ce site est aussi un espace de validation et dchanges de modules et de blocs pour portails PostNuke.

Chapitre 4 : Ralisation

40

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Figure 20 : Logo PostNuke

Le bloc Favourite Links que nous avons dvelopp (voir Annexe 1 page 64) y est rfrenc. Le module Argue Graph le sera bientt. Les principaux critres qui plaident en faveur de lutilisation de PostNuke sont: Un parfait produit/exemple de la communaut open source (implment en PHP et MySQL, trs populaires et standards) ; Architecture modulaire permettant de rajouter facilement de nouveaux logiciels modules ; Soutenu par une large communaut de dveloppeurs ; Possde une interface multilingue (arabe compris). Dans la partie Dveloppement , nous reviendrons plus en dtail sur les principales caractristiques de la programmation sous PostNuke.

2.3) MySQL
MySQL est un systme de gestion de bases de donnes qui est trs rapide, fiable et facile utiliser. Il a t dvelopp l'origine pour grer de trs grandes bases de donnes beaucoup plus rapidement que des solutions dj tablies, et a t utilis avec succs dans des conditions de productions critiques depuis plusieurs annes. En dveloppement constant, MySQL offre aujourd'hui un ensemble de fonctionnalits large et riche. Sa rapidit et sa scurisation en font un outil idal pour les applications Internet. Cest un systme client/serveur qui est constitu d'un serveur SQL multi-threads, qui supporte diffrents clients et librairies, outils d'administration et interfaces.

3) Description du dveloppement du module ArgueGraph


Dans cette partie, nous dcrivons la structure standard de tout module PostNuke et les diffrentes caractristiques techniques retenir pour la phase de dveloppement.

3.1) Caractristiques du dveloppement dun module PostNuke


Le dveloppement et la mise en place dun module PostNuke ont t tudis de manire permettre dune part une grande flexibilit de programmation et de dploiement aux programmeurs et dune autre part une facilit daccs au module par le portail qui lhberge, par dautres modules ou dautres systmes distants. PostNuke est, par exemple, dot dune interface XML-RPC qui permet dautres systmes dobtenir de linformation directement prleve dans un module sans passer par une interface Web. Comme nous lavons vu prcdemment, PostNuke exige la sparation des fonctionnalits utilisateur et administrateur. Cette sparation permet de dvelopper des modules plus proprement. Elle permet dacclrer la rponse du systme dans le sens o le module na besoin dexcuter que la partie du code qui est ncessaire. Les objectifs de scurisation travers la sparation des fonctionnalits utilisateur et administrateur sont par ailleurs vidents.

Chapitre 4 : Ralisation

41

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Pour finir, PostNuke a prvu un rpertoire nomm modules qui regroupe des sousrpertoires correspondant chaque module hberg par le portail. En ddiant un rpertoire unique pour chaque module, PostNuke permet une meilleure maintenance de tout le systme et facilite le processus dinstallation et de dsinstallation de modules tant pour le dveloppeur que pour ladministrateur du site. Nous allons nous intresser de plus prs larchitecture de ce rpertoire, tape cruciale avant de commencer le dveloppement du module.

3.2) Architecture dun rpertoire module PostNuke


PostNuke a prvu une architecture standard pour la conception et le dveloppement des modules quil va intgrer. Cette architecture est compose de fichiers et de rpertoires standards ncessaires tout module pour pouvoir tre install, configur, utilis et le cas chant supprim du portail. Le schma suivant illustre larchitecture standard dun rpertoire module. Nous avons pris pour exemple le rpertoire du module ePBL dvelopp par TECFA Seed pour lapprentissage par projet.

Figure 21: Architecture du rpertoire dun module

Le nom du module est trs important. PostNuke dtecte un nouveau module ds linstant o un nouveau sous-rperoire est rajout dans le rpertoire modules . Le nom du rpertoire servira aussi, comme nous le verrons plus tard, pour la reconnaissance des variables et des fonctions du module. Les noms de fichiers et rpertoires reprsentent les fichiers et rpertoires les plus importants pour un module PostNuke. Nous prcisons dans ce qui suit la fonctionnalit de chaque fichier ou rpertoire : pnadmin.php pnuser.php pninit.php pntables.php pnimages pnlang pnblocks
Chapitre 4 : Ralisation

fichier contenant toutes les fonctions dadministration du module ; fichier contenant toutes les fonctions utilisateur du module ; fichier contenant les fonctions dinitialisation du module ; fichier contenant toutes les informations concernant les tables de la base de donne du module rpertoire contenant toutes les images du module ; rpertoire contenant les fichiers de traductions du module ; rpertoire contenant les fichiers concernant le bloc du module.
42

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Le rpertoire pnlang a aussi une structure particulire que nous rvlent les deux figures suivantes.

Figure 22 : Architecture du rpertoire pnlang

Le rpertoire pnlang doit contenir au moins un sous-rpertoire qui corresponde une langue donne. Pour que le module ArgueGraph apparaisse en anglais, un sous-rpertoire eng (figure 22) doit tre cr. Pour quune langue donne soit reconnue par le portail, le nom du rpertoire qui la reprsente doit tre conforme aux standards dappellation PostNuke. Pour que le franais soit pris en compte, le rpertoire de traduction doit tre nomm fra ; pour lallemand deu , etc. Le contenu de ce rpertoire est explicit sur le schma suivant :

Figure 23 : Structure du rpertoire eng

Un rpertoire langue doit imprativement contenir les deux fichiers suivants : admin.php user.php contient la traduction du texte affiche par linterface administrateur; contient la traduction du texte affiche par linterface utilisateur.

Des fichiers et rpertoires additionnels peuvent tre rajouts comme le montre la figure 21 (page prcdente). Il est cependant impossible au systme daccder aux fonctionnalits du module si les fichiers ou rpertoires obligatoires ont des noms diffrents. Nous reviendrons plus loin sur les caractristiques des fichiers numrs dans cette partie.

3.3) LAPI PostNuke


LAPI PostNuke est un ensemble de fonctions relatives au systme PostNuke qui permettent aux dveloppeurs daccder facilement de linformation spcifique au portail sans pour autant avoir le besoin de comprendre les mcanismes et larchitecture de celui-ci. LAPI PostNuke permet donc daccder des variables internes au portail PostNuke qui couvrent plusieurs domaines tels que les informations concernant les utilisateurs membres, les modules, la scurit, les sessions, la base de donnes et laffichage. Les fonctions faisant partie de lAPI PostNuke commencent toutes par le prfixe pn . La fonction pnDBInit() par exemple, permet dinitialiser une connexion la base de donnes de PostNuke. Une fonction que nous avons beaucoup utilise dans la phase de dveloppement est pnUserGetVar('uid') . Elle permet dobtenir le numro de code de lutilisateur qui est entrain de naviguer sur le portail. Dans le cas o une erreur se produit, le systme gnre une exception en retour grce au gestionnaire derreurs.

Chapitre 4 : Ralisation

43

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

3.3.1) Gestion des erreurs PostNuke est capable de grer les erreurs laide dun systme de gestion dexceptions puissant qui comble les lacunes du langage PHP. PostNuke classe les exceptions en deux catgories : les exceptions-systme et les exceptions utilisateur. Les exceptions systme sont utilises par les fonctions de lAPI PostNuke, mais peuvent tout aussi tre utilises par le programmeur. Par exemple, il est vivement conseill dutiliser lexception DATABASE_ERROR quand une erreur de base de donnes se produit. Il est aussi recommand dutiliser lexception BAD_PARM lorsque de mauvais paramtres sont passs aux fonctions des modules dvelopps. Les exceptions utilisateur sont celles que les dveloppeurs crent. 3.3.2) Statut de lAPI PostNuke : en constante progression LAPI PostNuke ne comporte pas actuellement toutes les fonctionnalits que souhaiteraient les dveloppeurs. Grce la communaut PostNuke, il est possible aux chercheurs et aux dveloppeurs de proposer des ides nouvelles de fonctions encore non disponibles, de les dvelopper, de les soumettre aux tests et aux essais, de les valider et de les rajouter lAPI existant. Les recherches sont en cours et lAPI ne cesse de senrichir.

3.4) LAPI pnHTML


PostNuke ne permet pas dutiliser les balises HTML comme le permettrait une simple programmation de pages web en PHP. Parmi les raisons qui ont motiv ce choix se trouve le fait que les dveloppeurs PostNuke ont dcid la sparation de linformation de la mise en forme dans le processus de programmation. Pour le portail PostNuke, les thmes sont grs par des fichiers spciaux et des feuilles de styles CSS (Cascading Style Sheet). Cependant, il a fallu trouver une solution de substitution pour permettre aux dveloppeurs de crer des formulaires et crer des liens. LAPI pnHTML a t mis en place cet effet. pnHTML est en fait une classe qui possde plusieurs mthodes qui permettent de crer et de grer des interfaces. Dans le tableau suivant, nous prsentons quelques mthodes de la classe pnHTML et les balises HTML qui leur correspondent. Mthode pnHTML Text() BoldText() URL() TableStart() TableAddRow() TableEnd() FormStart() FormCheckbox() Fonctionnalit Balise HTML crire un paragraphe crire un paragraphe en gras <b></b> diter des liens <a></a> Crer un tableau <table> Ajouter une ligne un tableau Fermer un tableau </table> Crer un formulaire <form> Placer un champ formulaire de type <input type radio> ou Checkbox ou radio <input type checkbox>

Tableau 2 : Equivalence des mthodes pnHTML et des balises HTML Nous remarquerons que lutilisation de ses mthodes pour la cration dinterfaces se rapproche un peu de la programmation dinterfaces en Java.

Chapitre 4 : Ralisation

44

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

3.4.1) Exemple de lutilisation de la classe pnHTML Dans lexemple suivant, nous prsentons une fonction qui permet de crer, de remplir et dafficher un tableau.

Figure 24 : Exemple de l'utilisation de la classe pnHTML pour la cration d'un tableau

Dans cet exemple, un objet output de la classe pnHTML reprsentant une nouvelle interface est cre. Les mthodes TableStart(), TableAddRow() et TableEnd() sont utilises pour construire le tableau. Pour que le tout soit affich, la mthode GetOutput() est appele. 3.4.2) Statut de lAPI pnHTML : progression lente LAPI pnHTML na pas beaucoup volu depuis les premires versions de PostNuke. Aussi, la documentation est quasi inexistante ce qui est prjudiciable dans la mesure o certaines mthodes sont encore ambigus. Dans la figure 24, deux mthodes sont utilises pour dterminer la disposition des lments graphiques sur linterface. Ces mthodes sont SetOutputMode() et SetInputMode() . Elles agissent sur la manire dinterprter le texte afficher qui dpend des quatre constantes suivantes: _PNH_RETURNOUPUT, _PNH_VERBATIMINPUT, _PNH_KEEPOUTPUT, _PNH_PARSEINPUT. Prenons lexemple de la figure 24 : si lon oubliait la ligne de code encercle, le champ formulaire texte serait plac en dehors du tableau. A ce jour, aucune explication nest fournie concernant lutilisation de ces mthodes ce qui fait que pour crer des interfaces, il faut procder par hasard pour trouver la bonne configuration qui permette daboutir une prsentation quelque peu convenable. Par ailleurs, plusieurs fonctionnalits manquent encore comme celle de pouvoir lancer des URL sur une nouvelle fentre du navigateur. Ceci est en partie li au fait que la notion du target=_blank nest plus supporte par le XHTML. Il est cependant possible de remplacer ces attributs par du JavaScript. Une autre fonctionnalit importante nest toujours pas disponible : on ne peut pas afficher des images avec du pnHTML. Tout ceci nous a pos problme chez TECFA, tant dans le cadre du dveloppement du module ArgueGraph que dans le cadre dautres projets. Pour y remdier, nous avons cr deux nouvelles mthodes inspires du pnHTML, la premire pour afficher des images (myImg()) et la seconde pour lancer des liens dans de nouvelles fentres (myURL()). Une nouvelle classe nomme myClass, tendant la classe pnHTML, a t cre et a inclus ces deux mthodes. Nous avons aussi rajout une troisime mthode hybride (myImgURL()) qui permet de crer des liens image (voir annexe). Ces fonctions nous ont permis dajouter une touche de convivialit aux interfaces conues.

Chapitre 4 : Ralisation

45

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

3.5) Dveloppement du module ArgueGraph


Une fois les caractristiques de lenvironnement technique recenses, nous pouvons dcrire les points les plus intressants du processus de dveloppement du module de lArgue Graph. 3.5.1) Le rpertoire ArgueGraph Le rpertoire du module ArgueGraph se prsente ainsi :

Figure 25 : Le rpertoire "Argue Graph "

En plus des fichiers et rpertoires traditionnels, nous avons prvu un fichier pour chaque classe issue de ltude conceptuelle du systme. Nous avons aussi rajout quelques rpertoires supplmentaires que nous dcrivons dans ce qui suit. Le fichier Class_MyHTML.php se rapporte la classe myClass qui tend la classe pnHTML. Le fichier contient les trois nouvelles mthodes rajoutes au pnHTML que nous avons dcrit prcdemment ( au 3.4.2 de ce chapitre). Le rpertoire graphs contient les graphes qui sont gnrs pour chaque sance Argue Graph. Les graphes sont maintenus tant que les sances sont sauvegardes dans lhistorique de lapplication. Le rpertoire xmlfiles contient tous les fichiers-questionnaire en XML qui sont automatiquement gnrs lors de la validation dun questionnaire. Le rpertoire downloads contient tous les fichiers-questionnaire en XML qui sont destins au tlchargement et qui vont tre lists sur linterface utilisateur. Le rpertoire uploads contient tous les fichiers-questionnaire en XML externes qui ont t tlchargs par ladministrateur du module et qui vont tre analyss, dcods et utiliss par le module. Dautres fichiers vont tre rajouts ultrieurement : un fichier ReadMe.txt pour expliquer comment installer et dsinstaller le module et un manuel dutilisation sous forme de fichiers HTML.

Chapitre 4 : Ralisation

46

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

3.5.2) Description du fichier pntables.php Le fichier pntables.php est utilis pour charger les tables du module. En fait, ce fichier se rsume une fonction unique ArgueGraph_pntables() qui permet de stocker les informations concernant les tables.

Figure 26 : Entte du fichier "pntables.php"

Le schma prcdent montre les sept tables qui vont faire partie de la base de donnes du systme ArgueGraph : quizzes pour les questionnaires, questions pour les questions, answers pour les rponses, scores pour les rsultats finaux, results pour les rsultats intermdiaires, schedule pour le planning des sances et groups pour la gestion des groupes. Deux prfixes sont rattachs au nom de chaque table : ArgueGraph et nuke . Ce dernier prfixe est gnral toutes les tables du portail PostNuke et est retrouv grce la fonction pnConfigGetVar(prefix) .. Les informations concernant les tables sont stockes dans une variable prdfinie par le systme qui est le tableau pntable . A chaque fois que la fonction pnDBGetTables() est appele par une fonction du module, le systme accde ce fichier et charge cette variable. Un module externe ou un bloc ne peut par contre pas accder directement aux tables du module ArgueGraph . La fonction pnModDBInfoLoad() qui a pour paramtre dentre le nom du module cible, fait appel aux variables ArgueGraph . Cest seulement ce moment l que lon peut utiliser la fonction pnDBGetTables() et ainsi charger la variable pntable .

Chapitre 4 : Ralisation

47

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

3.5.3) Description du fichier pninit.php Le fichier pninit.php est utilis deux fois dans la vie dun module. La premire fois pour initialiser le module dans le portail et la seconde fois pour le supprimer. Pour initialiser le module, la fonction ArgueGraph_init() fait appel au fichier pntables.php pour charger la variable pntable qui servira insrer les tables du systme dans la base de donnes du portail.

Figure 27 : Initialisation du module

Ce schma explicite le mcanisme dinsertion de la table ArgueGraph_quizzes dans la base de donnes. Une connexion avec la base de donnes du portail est dabord tablie laide de la fonction pnDBGetConn() qui cre une instance de la classe dbconn prdfinie par PostNuke. Ensuite, la variable pntable est charge laide de la fonction pnDBGetTables() . Enfin, la requte SQL1 pour la cration de la table ArgueGraph est excute par la mthode Execute() de lobjet dbconn (figure 27). En cas derreur, une exception gnre et un message est affich pour ladministrateur.

Figure 28 : Les tables du module Argue Graph

Les erreurs dinitialisation du module surviennent en gnral lorsquil y a incohrence entre le fichier pninit.php et le fichier pntables.php . Il faut donc faire attention ce que les noms des tables et de leurs champs correspondent dans les deux fichiers.

Chapitre 4 : Ralisation

48

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Pour supprimer le module, la fonction ArgueGraph_delete() fait appel au fichier pntables.php pour charger la variable pntable . Le processus de suppression de l ArgueGraph se traduit par la suppression de ses tables de la base de donnes du portail et le nettoyage du systme de toutes ses variables. Le schma suivant est un extrait de la fonction ArgueGrpah_delete() .

Figure 29 : Suppression du module

Les tables de l ArgueGraph sont supprimes une une avec un contrle derreurs systmatique. Les variables du modules sont supprimes par la fonction pnModDelVar() . 3.5.4) Principe de dveloppement Le fichier pnadmin.php regroupe toutes les fonctionnalits de ladministration du module. Cela va de linterface dajout de questionnaires, linterface de publication des rsultats des sances Argue Graph, en passant par linterface dchanges de fichiers XML. Pour un module aussi complexe que l ArgueGraph , tout mettre dans le fichier pnadmin.php peut savrer hasardeux sur le plan de la programmation. Il est vident que si lon mettait le code complet de chaque interface ou fonction interne sur ce seul fichier, sa taille serait beaucoup trop importante et lon sy perdrait. Nous avons donc opt pour une solution dallgement : il sagit de subdiviser chaque fonction du module en un ensemble de briques daffichage; chaque brique tant programme sur lun des fichiers-classes du module.

Figure 30 : Interface Administrateur : Menu Principal

Prenons lexemple du menu principal de linterface administrateur (figure 30). Nous constatons que cette interface se compose de deux briques distinctes : le menu du haut et le tableau des questionnaires Current Quizzes .

Chapitre 4 : Ralisation

49

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Dans la figure suivante, nous explicitons la faon dont nous avons construit cette interface.

Figure 31 : Code relatif au menu principal de linterface administrateur

Laffichage des deux briques du menu principal de linterface administrateur tient dans les quatre lignes entoures par le cercle du bas. Une instance AGA de la classe ArgueGraph est cre. Sa mthode Links() construit le petit menu de haut tandis que la mthode MainTable() construit le tableau rcapitulatif des questionnaires. Tout ceci est affich par la mthode Text() de lobjet output . Nous prsentons ci dessous, la structure de la mthode Links() ArgueGraph qui se trouve dans le fichier Class_ArgueGraph.php . de la classe

Figure 32 : Structure de la mthode Links()

3.5.5) Navigation travers les interfaces du module Un point intressant est souligner dans le code que nous venons de prsenter la figure 32. Ce point concerne la navigation dans un module PostNuke. Pour diter des liens, il faut faire appel la mthode URL de la classe pnHTML qui a deux attributs: lURL destination et le texte du lien. La partie encercle de la figure 32 met en valeur la fonction de base de la navigation dans un programme PostNuke. En effet, pour se dplacer dune fonction une

Chapitre 4 : Ralisation

50

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

autre dans le fichier pnadmin.php , il faut utiliser pnModURL() de lAPI PostNuke. Pour mieux expliciter le fonctionnement de cette fonction, prenons lexemple de la premire ligne de la zone encercle. Le lien se prsente comme suit :
URL(pnModURL('ArgueGraph','admin','main'),_HOME)

Pour trouver son chemin, le systme parcourt trois des quatre paramtres dentre de la fonction : ArgueGraph : reprsente le rpertoire du module de mme nom; admin : qui reprsente linterface de la fonction destination. Dans notre exemple, le systme va accder au fichier pnadmin.php . Par contre, si lon avait user comme paramtre le systme accderait au fichier pnuser.php ; main reprsente la fonction destination qui est ArgueGraph_admin_main() . Le quatrime paramtre qui nest pas explicit sur cet exemple et qui est optionnel, est en fait un tableau qui peu contenir des variables ncessaires pour les paramtrage dune fonction dans une situation donne. 3.5.6) Gestion de la scurit du module Pour accder la fonction prcdente ou toute autre fonction du fichier pnadmin.php , il faut que lutilisateur ait les privilges dadministration. La partie du milieu encercle la figure 31 (page prcdente) prsente le mcanisme qui permet de restreindre laccs ces fonctions aux seuls administrateurs du site. La fonction pnSecAuthAction() permet datteindre ce but en accdant aux profils utilisateurs stocks dans la base de donnes du portail do elle dtermine le type daccs de lutilisateur du module. Si celui-ci a un accs du type ACCESS_ADMIN , il pourra alors administrer le module. Pour ce qui est des fonctionnalits de linterface utilisateur gres par le fichier pnuser.php , laccs est restreint aux personnes ayant une session ouverte sur le portail. La fonction pnSecAuthAction() est alors appele par chaque fonction de ce fichier. Elle vrifie que le membre possde bien laccs ACCESS_COMMENT rserv aux personnes connectes au portail et lautorise donc naviguer travers linterface utilisateur. 3.5.7) Gnration des graphes PHP peut servir crer et manipuler des images, dans un grand choix de formats, comme gif, png, jpg, wbmp et xpm. PHP gnre directement des images pour le navigateur, avec la librarie GD que nous utiliserons pour crer les graphes du mode solo et du mode duo au format jpg. Pour crer un graphe, la fonction ImageCreate() est appele. Cette fonction cre une image sans pour autant la sauvegarder sur le disque. On y dfinit la taille de limage qui est rectangulaire. Les dimensions de limage dpendent des poids des axes du questionnaire quelle reprsente : si le poids de laxe des X est 2 et si celui des Y est 1, par exemple, la largeur de limage sera 2 fois plus importante que sa longueur. La construction propre du graphe commence ici. Il faut savoir que les positions des lments qui vont tre placs sur le graphe se basent sur un jeu de coordonnes 2D dont lorigine se trouve au coin gauche suprieur de limage.

Chapitre 4 : Ralisation

51

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Pour les graphes du module ArgueGraph , nous commenons par dessiner les lments fixes qui sont la grille, le repre du graphe ( travers les axes et les noms des diffrentes thories qui leurs correspondent), le nom du questionnaire, le nom du modrateur et la lgende. La longueur dun axe est calcule en multipliant le nombre de questions du questionnaire fois le poids de laxe. Les dimensions des axes sont donc proportionnelles celles de limage cre. Ensuite, nous enchanons par la disposition des couples points-noms des diffrents participants la sance Argue Graph selon les scores quils ont obtenu. Si nous sommes en mode solo, nous plaons simplement un point pour chaque participant et nous crivons son nom par en dessous. Si par contre nous sommes en mode duo, nous ajoutons au graphe prcdent la position de chaque paire daprs son score lors de cette phase. Nous relions ensuite le point reprsentant la position du participant en mode solo au point reprsentant la position de la paire dont il a fait partie en mode duo pour mieux souligner lvolution dopinion de chacun. La figure suivante illustre un exemple dun graphe du mode duo.

Figure 33 : Exemple d'un graphe du mode duo

Parfois, il arrive que des noms se superposent ou se touchent sur le graphe ce qui rend un peu plus complexe lanalyse des rsultats. Pour y remdier, nous avons prvu une petite fonction qui permet de sparer au maximum les noms qui se touchent en les disposant les uns sous les autres une distance suffisante pour quils soient distincts tout en ne les loignant pas beaucoup des points qui les reprsentent. Une fois limage termine, nous pouvons la sauvegarder dans le rpertoire prvu pour les graphes. La sauvegarde sous format jpg est possible en utilisant la fonction ImageJPEG() de la librairie GD.
Chapitre 4 : Ralisation 52

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

3.5.8) Algorithme de rpartition des groupes en paires Dans les versions prcdentes de l ArgueGraph , des algorithmes complexes ont t utiliss pour rpartir les participants en paires la suite de la phase solo. Ces algorithmes taient de gros consommateurs de ressources et de temps. De plus, ils avaient tendance favoriser les couples de participants ayant une grande divergence dopinions ce qui faisait que lon se trouvait parfois avec des couples de personnes trop proches dopinions. Pour remdier ces diffrents problmes, nous avons dcid de concevoir un nouvel algorithme plus simple et moins coteux en temps, ayant pour objectif principal une rpartition qui limine en premier temps les formations de couples trop proches dopinions et qui favorise en second temps les grandes divergences dopinion. Le principe de cet algorithme est le suivant :
Etape 0 1 Description Prochaine tape On dresse une liste des participants. 1 Si la liste nest pas vide, on calcule pour chaque participant prsent dans la liste la 2 somme des distances qui le sparent des autres participants. Si la liste est vide 4 Le participant ayant la somme la plus faible est celui qui est le plus susceptible de 3 se retrouver en paire avec une personne trs proche dopinion de lui. On lui cherche donc le participant qui lui est le plus distant. La paire est ainsi forme. On supprime la paire de la liste des participants. 1 La liste des paires est prte.

2 3 4

Cet algorithme donne en gnral de bons rsultats. Cependant, il arrive parfois que lon puisse configurer une meilleure rpartition du groupe en paires manuellement ou que le professeur veuille absolument mettre ensemble la personne A avec la personne B pour X raisons pdagogiques que lalgorithme ne peut prendre en considration. Le module a donc prvu une interface qui permette au modrateur de rpartir manuellement son groupe. 3.5.9) Dcodage des fichiers XML La cration de fichiers XML est facile, cependant les dcoder (parsing) est toute une autre affaire surtout si lon ne connat pas la grammaire du document. Pour le module Argue Graph, un fichier-questionnaire XML a une grammaire fixe. PHP supporte la librairie expat qui permet danalyser mais pas de valider les documents XML. Trois types de codage diffrents sont supports, US-ASCII, ISO-8859-1 et UTF-8. Cette extension permet de crer des analyseurs XML puis de dfinir des points d'entre pour chaque vnement XML. Pour dcoder les fichiers XML et transfrer leurs contenus dans la base de donnes du module, nous avons eu recours au gestionnaire dvnements XML propos par PHP. Prenons lexemple du fichier XML suivant :
<?xml version='1.0' encoding='iso-8859-1'?> <ARGUEGRAPH> <nuke_ArgueGraph_quizzes> <QNAME>Music!</QNAME> <DESCRIPTION>A research about your music preferences...</DESCRIPTION> </nuke_ArgueGraph_quizzes> <nuke_ArgueGraph_questions> <QUESTID>1</QUESTID> <QUESTION>Which group do you prefer?</QUESTION> </nuke_ArgueGraph_questions> </ARGUEGRAPH>

Chapitre 4 : Ralisation

53

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Nous pouvons analyser ce fichier et en extraire de linformation en utilisant la mthode parse de la classe XML extraite du fichier Class_XML.php :

Figure 34 : Mthode parse() de la classe XML

Nous expliquons dans ce qui suit les diffrentes tapes pour arriver extraire de linformation du fichier XML prcdent. Tout dabord, la fonction xml_parser_create() permet de crer la variable xml_parser qui est lanalyseur du fichier XML. La fonction xml_set_element_handler() gnre un vnement chaque fois que l'analyseur XML rencontre une balise de dbut ou de fin. Deux gestionnaires sont disponibles : startElement pour le dbut, et endElement pour la fin. La fonction xml_set_character_data_handler () collecte linformation qui se trouve entre les balises. Ce processus est rpt en boucle jusqu la fin du fichier pendant quau mme moment la variable xml_parser se charge en information. Lorsque le processus danalyse est achev, le contenu de lanalyseur est pass la variable globale obj . La figure suivante explicite comment extraire linformation partir de cette variable.

Figure 35 : Extraction de l'information

La variable obj est un objet standard prdfini par PHP qui nappartient pas un classe prcise et qui ne peut avoir que des attributs. Dans le cas de lanalyse du fichier XML, cet objet est un arbre dont les nuds sont aussi des objets de mme nature et dont la profondeur dpend de la profondeur des balises du document XML trait. Dans notre cas, lobjet obj ne possde quun seul attribut qui est lobjet xml correspondant la premire balise du document XML. Lobjet xml possde une seule feuille qui est lobjet ARGUEGRAPH

Chapitre 4 : Ralisation

54

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

correspondant la balise de 2me niveau <ARGUEGRAPH>. Lobjet ARGUEGRAPH possde cette fois deux feuilles qui correspondent aux deux balises imbriques dans la balise <ARGUEGRAPH> (3me niveau). La premire feuille est lobjet NUKE_ARGUEGRAPH_QUIZZES qui possde deux feuilles QNAME et DESCRIPTION . A ce niveau, les attributs de ces objets sont dsigns par DATA et ont des valeurs qui correspondent respectivement au nom du questionnaire et sa description. La structure de larbre obj est explicite par le diagramme suivant : obj

xml

ARGUEGRAPH

nuke ArgueGraph quizzes

nuke ArgueGraph questions

QNAME

DESCRIPTION

QUESTION

QUESTID

DATA=Music !

DATA = A research about

DATA = Which group do you

DATA = 1

Pour accder la valeur de la balise QUESTID il faut accder la valeur lattribut DATA du nud QUESTID de cette faon :
$description = $objxmlARGUEGRAPHnuke_ArgueGraph_questionsQUESTIDDATA

3.5.10) Module WebChat Pour la phase duo de lArgue Graph, il nous a fallu prvoir un systme qui permette aux membres de chaque paire de communiquer distance. Nous aurions pu concevoir un outil de chat intgr mais nous avons prfr utiliser un module tout fait qui est le module WebChat . Ce module Open Source est disponible au tlchargement pour la communaut PostNuke et est dj install sur le portail de TECFA Seed. Ce module permet de crer des salons de discussions publiques et privs. En ce qui concerne le module ArgueGraph les discussions vont se passer dans des salons privs. Lutilisation de ce module de chat commence lorsque la liste des paires est valide par le modrateur avant le dbut de la phase duo. A ce moment prcis, un salon de discussion priv est cr pour chaque paire du groupe. Le fichier pnuser.php rajoute une ligne dans la table chatroom contenant le numro du salon crer pour le participant et son partenaire. Ce numro est calcul en fonction du numro dordre de la sance et du rang de la paire dans la liste des paires. Les deux modules sont indpendants. L ArgueGraph peut donc tourner normalement sans WebChat .

Chapitre 4 : Ralisation

55

Chapitre 5 : Dploiement et valuation

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

1) Introduction
Dans ce chapitre nous dcrivons le processus de dploiement de l ArgueGraph . Nous prsentons tout dabord les diffrentes phases du processus dinstallation du module. Nous enchanons ensuite par des tests dutilisation en illustrant les diffrentes fonctionnalits du systme et nous concluons par une valuation du produit fini.

2) Installation
Le module ArgueGraph se prsente sous la forme dun package. Les deux formats les plus utiliss pour lempaquetage dans la communaut PostNuke sont Winzip (extension .zip ) et TAR compress (extension .tar.gz ). Pour installer le module dans PostNuke, il faut tout dabord dcompresser le contenu du package dans le rpertoire modules du portail. Lutilisateur doit ensuite ouvrir une session administrateur sur le portail. Dans le menu Administration , le lien Modules pointe vers une interface qui liste tous les modules (activs ou pas) prsents sur le portail. Si l ArgueGraph ny apparat pas, le lien Regenerate permet au systme de scanner nouveau le contenu du rpertoire modules et de dtecter la prsence du nouveau programme. Une fois dtect, le module est rajout la liste des modules du portail. Dans la case correspondant l ArgueGraph de la colonne Actions , trois liens existent. Le lien Edit permet de saisir le nom du programme et sa description telles quelles apparatront pour lutilisateur. Le lien Remove permet de supprimer le module et son rpertoire du portail. Pour continuer avec le processus dinstallation du programme, le lien Initialise permet dinitialiser le module en crant ses tables dans la base de donnes du systme (voir Description du fichier pninit.php page 48 ). La figure suivante est extraite de linterface dinstallation de gestion tout de suite aprs linitialisation de l ArgueGraph .

Figure 36 : Installation du module "ArgueGrpah"

Une fois le module initialis, il ne reste plus qu lactiver en cliquant sur le lien Activate . L ArgueGraph apparat maintenant dans le menu Administration du portail. Linterface administrateur du module est maintenant accessible. Ce nest par contre pas le cas de linterface utilisateur. Pour permettre aux apprenants dutiliser le programme, il faut quil soit list parmi les liens dun des blocs-menu latraux du portail. Nous pouvons par exemple linsrer dans le bloc Main Menu . Dans ce cas, il faut retourner linterface dadministration du portail et accder la rubrique Blocks . Une liste des blocs du portail apparat alors. Un lien vers Main Menu permet daccder la liste de tous les liens que comporte ce bloc. Cette liste se prsente sous la forme dun tableau. Chaque ligne du tableau comporte 5 champs : le titre du module, son URL, sa description (optionnelle), une case cocher qui permet de supprimer le lien et une seconde case cocher permettant despacer dune ligne deux liens du bloc Main Menu .

Chapitre 5 : Dploiement et valuation

57

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

La figure suivante illustre lallure du tableau de gestion du bloc Main Menu .

Figure 37 : Ajout d'un lien "ArgueGraph" dans le bloc "Main Menu"

Pour pouvoir accder linterface utilisateur, une URL de forme spciale doit tre introduite. En effet, PostNuke a prvu une notation standard pour les modules de nouvelles gnration : ce sont les modules dont les fonctionnalits sont accessibles via les deux fichiers pnadmin.php et pnuser.php . Les fonctionnalits des modules de lancienne gnration (par exemple le module Gallery ) sont elles accessibles travers le seul fichier index.php . LURL de linterface utilisateur du module ArgueGraph doit donc tre de la forme {ArgueGraph} ; les accolades renvoyant le systme automatiquement vers la fonction main du fichier pnuser.php . Une fois les autres champs remplis et le formulaire valid, le lien apparat dans le bloc Main Menu . Nous avons install le module ArgueGraph avec succs sur plusieurs portails dont le portail TECFA Seed (http://tecfaseed.unige.ch/door).

3) Dploiement et tests
La phase de tests du module a commenc bien avant la fin de la phase de ralisation. En effet, le dveloppement du module sest fait en plusieurs tapes. Nous avons tout dabord dvelopp les fonctionnalits de gestion des questionnaires puis celles de la programmation des groupes et des sances. Nous avons ensuite dvelopp les fonctionnalits de linterface utilisateur et nous avons fini par mettre en place le service dchange de fichiers XML. A la suite de chacune de ces phases nous avons entrepris des sances de tests pour vrifier, corriger et valider le travail qui venait dtre fait. Une fois le module achev nous lavons soumis des tests plus grandes chelles en faisant appel des collaborateurs TECFA.

3.1) Administration du module


Nous avons test deux reprises les fonctionnalits administratives du site. Nous avons demand deux collaboratrices TECFA de crer des questionnaires et de programmer des sances Argue Graph pour un groupe donn dutilisateurs. Le premier test a t entrepris par une collaboratrice scientifique (mathmaticienne) qui dj dvelopp des modules PostNuke pour TECFA tel que le projet ePBL (Projet Based Learning). Le deuxime test a t entrepris par une pdagogue (professeur danglais) qui na que quelques notions en programmation. Nous avons soumis aux deux collaboratrices un questionnaire qui a dj t utilis lors des versions prcdentes de l ArgueGraph . Il sagit dun questionnaire ayant pour thme la pdagogie dans les technologies ducatives. Ce questionnaire comporte dix questions. Nous leur avons ensuite demand de choisir un groupe de dix personnes et de les programmer pour

Chapitre 5 : Dploiement et valuation

58

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

une sance Argue Graph. Ces deux collaboratrices devaient faire partie du groupe de participants tout en tant elles-mmes les modratrices des sances. Les tests se sont plutt bien drouls. Il y a eu tout de mme quelques hsitations de la part de la deuxime collaboratrice lorsquil sagissait de naviguer travers les fonctionnalits du systme. Ces hsitations sont naturelles pour toute personne nouvelle au module. Un fois lexprience renouvele, ces hsitations finissent par disparatre. Il est donc recommandable dtablir un manuel dutilisation qui dcrit le fonctionnement du systme surtout pour les personnes les plus rticentes lintgration de linformatique dans lducation. La premire collaboratrice a bien construit son questionnaire et a facilement programm sa sance Argue Graph. Le sommaire du questionnaire achev se prsente comme suit :

Figure 38 : Sommaire du questionnaire test

3.2) Excution du scnario Argue Graph


Le dploiement du scnario sur un groupe de personnes est la partie la plus importante du module. Nous avons runi un groupe de huit collaborateurs TECFA et nous avons dsign une pdagogue (la mme que pour les tests dadministration) pour modrer lexprience, celle-ci faisant aussi partie du groupe de participants. Les participants au scnario taient disposs dans des locaux diffrents et navaient pas, pour la majorit, la possibilit de communiquer directement. La sance a naturellement commenc par la phase solo. Les utilisateurs ont apprci la prsentation du formulaire qui offre, entre autres, une barre de progression qui permet dinformer chaque participant de son tat davancement lors de cette premire tape.

Figure 39 : Rpondre en mode solo

Chapitre 5 : Dploiement et valuation

59

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Du ct administrateur, la modratrice, qui a aussi rpondu au questionnaire, a eu la possibilit de sinformer de ltat davancement de la phase solo travers un tableau qui dterminait pour chaque participant si, oui ou non, il a termin de rpondre aux questions.

Figure 40 : Progression de la phase solo

Une fois que tout le monde a rpondu toutes les questions, les rsultats se sont automatiquement affichs chez la modratrice sous la forme dun graphe et dune liste de paire de participants. Lalgorithme que nous avons expliqu la page 53 a donn une assez bonne rpartition du groupe. La modratrice pouvait nanmoins rpartir le groupe manuellement et en changer la configuration. Estimant la rpartition gnre par lalgorithme convenable, la modratrice a valid et publi les rsultats qui se sont affichs chez les participants. Pour se prparer la phase duo, un salon de chat rserv chaque paire leur a permis de dcider celui qui allait rpondre pour le compte de la paire pour la suite du scnario.

Figure 41 : Rsultats de la phase solo et prparation de la phase duo

En dcidant lenvoi de la phase duo, les utilisateurs ont pu commenc rpondre au questionnaire de nouveau. Le chat les a motiv pour communiquer et schanger des ides.

Chapitre 5 : Dploiement et valuation

60

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Une fois la phase acheve et les rsultats publis, les participants ont donc pu constater lvolution de leur opinions travers le graphe duo et se situer dans les statistiques qui leurs sont fournies avec. Le dploiement du script ct participant sest assez bien droul, le mode de fonctionnement tant facile saisir. Par contre, du ct de la modratrice, une assistance de ma part a t ncessaire au moment de la transition entre les deux phases.

4) Evaluation du travail
Les tests que nous avons entrepris nous ont permis dvaluer le degr de correspondance du module aux attentes de dpart. Nous numrons dans cette partie les diffrents accomplissements que nous avons atteints et les amliorations que nous pourrions envisager pour une version future du programme.

4.1) Accomplissements
Linterface utilisateur correspond gnralement aux attentes de dpart. Son utilisation par les participants est aise et ne ncessite aucune mise en condition pralable. De plus, des fonctionnalits ont t rajouts pour accrotre la convivialit du programme. Les barres de progression et la prsentation des graphes ont nettement amlior laspect visuel des interfaces. Un point important concernant les problmes de navigation dans les applications web a t soulev par une collaboratrice TECFA. Nous savons que les navigateurs Internet offrent des fonctionnalits de retour en arrire qui permettent au navigateur de visualiser des pages web dj visites. Lutilisation de ces pages, surtout dans le cas de formulaires, peut produire des incohrences tant sur le plan du droulement normal de lapplication que sur les rsultats quelle fournit. Pour y remdier, nous avons prvu un contrleur dtat davancement des sances Argue Graph qui se base sur les codes que nous avons attribus chaque phase du script (voir Tableau 1: Les diffrents tats d'une sance Argue Graph page 27). A chaque fois quun utilisateur dclenche un vnement dans le systme (poster des formulaires, rafrachir une page expire, etc.), le module vrifie la code de la phase en cours. Si lvnement fait partie de la phase, le systme enclenche la fonction cible. Dans le cas contraire, le systme est redirig vers une fonction que nous avons nomm Switchboard (Tableau de bord) qui va dterminer quelle interface doit tre affiche. Linterface administrateur a aussi bnfici de lajout de fonctionnalits qui rendent la gestion du module plus aise. Pour la cration des graphes, une nouvelle fonctionnalit a attir lattention des testeurs et des observateurs parmi lesquels Mr Patrick Jermann, lun des deux concepteurs du scnario Argue Graph. Il sagit du gestionnaire des fichiers-questionnaires XML. Dautres fonctionnalits, comme celle de pouvoir crer et sauvegarder des groupes dutilisateurs, celle de pouvoir suivre ltat davancement des phases ou bien celle de pouvoir avoir une fonction dagrandissement des graphes ont t bien accueillies puisquelles facilitaient des degrs diffrents ladministration et la modration du systme. Enfin, dun point vue technique, la nouvelle version de l ArgueGraph est plus mallable et documente que les deux versions prcdentes.

Chapitre 5 : Dploiement et valuation

61

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Il sera donc facile de comprendre le code source du programme et de le changer si besoin en est, dans le cadre de la rutilisation.

4.2) Amliorations et perspectives


Comme nous lavons cit lors de la phase des tests, un manuel dutilisation demeure un lment crucial pour faciliter la comprhension des fonctionnalits de gestion et de modration du systme. Vu le nombre important doptions et de services quoffre linterface administration, un manuel permettrait aux utilisateurs du module de ne pas passer ct de fonctionnalits qui existent et qui seraient susceptibles de simplifier leurs tches. Sur le plan de linteractivit, nous pourrions envisager un outil qui permette au modrateur de communiquer avec les participants travers lenvoi de messages groups ou individuels (une variante de la fonction net send par exemple). Cela pourrait tre utile pour, par exemple, aviser les utilisateurs des limitations en temps de chaque phase ou pour les informer de la publication des rsultats. Dun point de vue technique, des problmes de navigateurs ont t mis en vidence lors de la phase de tests. Laspect des interfaces et leur comportement changent selon le navigateur. A TECFA nous avons surtout utilis les navigateur Internet Explorer et Mozilla. Lorsquun lien souvre sur une nouvelle page avec Mozilla, la page source ne change pas alors que pour Internet Explorer, le navigateur est automatiquement et trangement redirig vers la homepage du portail. Ce problme mineur est li la fonction myURL() que nous avons ajout aux fonctions de la classe pnHTML . Cette fonction, qui permet douvrir un lien sur une nouvelle fentre, contient du JavaScript. Il faudra sans doute collaborer avec la communaut PostNuke pour trouver une solution meilleure ce problme. Pour conclure, nous pourrions apporter des changements au module WebChat pour limiter son utilisation au seul module ArgueGraph .

Chapitre 5 : Dploiement et valuation

62

LArgue Graph - Rapport de projet de fin dtudes (INSAT - Universit 7 Novembre Carthage) Mourad Chakroun 2003

Discussion est conclusion


Les portails communautaires fleurissent de partout sur la toile dont un grand nombre offre des contenus intressants qui accrochent les internautes en les intgrant dans des communauts de personnes dintrt de plus en plus larges. Nous ne doutons pas quen combinant scnarios dapprentissage socioconstructivistes avec plates-formes de collaboration telles que les portails communautaires, une nouvelle dimension pourrait tre apporte lducation se basant sur les nouvelles technologies de linformation. Actuellement, TECFA engage ses tudiants dans des scnarios dapprentissage par projet bass sur des modules PostNuke. Lexprience est concluante et les rsultats sont satisfaisants tant du point de vue des apprenants que celui des enseignants. Nanmoins, la formule ne prend toujours pas dans le reste du monde de lducation, exceptions faites des pays scandinaves qui ont une marge davance dans ce domaine et o les enseignements se font dsormais avec un support Internet (en ligne ou en classe) et en collaborant. Nous pouvons expliquer ceci par le fait que lon na pas assez de recul par rapport ces technologies ce qui ne contribue pas liminer la rticence des enseignants adopter ces nouvelles mthodologies dapprentissage. La complexit des systmes dinformation peut aussi accentuer ce sentiment chez les enseignants. En effet, nous avons remarqu que des portails Java se basant sur les portlets ont du mal conqurir ce march. Ceci est tout fait normal vu que ce sont des systmes gourmands en ressources et particulirement compliqus utiliser pour des non informaticiens (donc les enseignants et les pdagogues) . Du ct des apprenants le processus dadoption est par contre plus ais. En effet, les enfants semblent avoir moins de problmes que les adultes sadapter aux nouvelles technologies ducatives, car ils sadaptent trs facilement aux graphismes et aux abstractions conceptuelles et ont souvent une bien meilleure exprience dans la dcouverte et lexercice des fonctionnalits des interfaces (Rousseau, 1999), ce qui laisse prsager un avenir possible pour ce type doutils dans lducation. Il nous parat donc primordial de trouver un compris entre scnarios pdagogiques et complexit des nouvelles technologies de linformation. Nous avons pu dmontrer travers ce projet que lon pouvait partir doutils lgers et simples (PostNuke, PhP, MySQL et XML) concevoir des systmes ducatifs pouvant sintgrer parfaitement dans lesprit de lapprentissage socioconstructiviste tout en restant faciles manipuler pour les novices et les plus rticents des enseignants. Il sagit maintenant de promouvoir ce genre doutils et de les diffuser

Chapitre 5 : Dploiement et valuation

63

Annexes

Annexe 1 : Le module Favourite Links


En guise de familiarisation avec les portails PostNuke, jai t charg de dvelopper un module qui permet ladministrateur de choisir jusqu dix liens de la liste des URL du module Web Links et de les afficher dans un bloc indpendant sur un portail PostNuke. Le principe de ce module-bloc que nous avons appel FavLinks est simple. Il sagit de dvelopper une interface administrateur qui regroupe par catgories et sous-catgories de liens (la forme dun arbre) tous les URL dun portail PostNuke. Il a donc fallu crer des fonctions qui permettent de construire un arbre partir de la hirarchisation de ces liens et de lafficher sur une interface qui se prsente sous la forme dun formulaire. Ladministrateur naura qu cocher les cases correspondant ses liens favoris. Une seule table est prvu pour ce module dans la base de donnes. Cette table va contenir le code des liens slectionns par ladministrateur. Les autres caractristiques des URL sont puiss des tables du module Web Links . Une fois les liens slectionns, ils apparaissent dans un bloc que lon pourra placer parmi les autres blocs dun portail PostNuke. La programmation du bloc est plus simple que la programmation de linterface administrateur. En effet, dans le cas de Favourite Links , une seule fonction est appele pour laffichage qui est block_FavLinks_block(). Cependant avant dentamer le dveloppement des fonctionnalits de cette fonction, une en-tte ncessaire sa reconnaissance par le systme doit tre rajoute. Le morceau de code suivant explicite cette en-tte qui permet de au portail daccder la fonction principale du bloc. $blocks_modules['FavLinks'] = array( 'func_display' => 'blocks_FavLinks_block', 'text_type' => 'FavLinks', 'text_type_long' => "Favourite Links", 'allow_multiple' => false, 'form_content' => false, 'form_refresh' => false, 'show_preview' => false ); La fonctionnalit du bloc doit tre sous la forme dun fichier qui a pour nom le titre du module. Dans notre cas, cest le fichier FavLinks.php . Ce fichier doit tre plac dans un sous-rpertoire pnblocks du rpertoire FavLinks . Nous avons empaquet ce module avec un mode demploi sous la forme dun fichier compress ZIP et nous lavons soumis la communaut PostNuke travers le site www.postnuke.com. Un comit de validation a vrifi le bon fonctionnement du module et la publi sur le site afin quil puisse tre tlcharg. Le lien de tlchargement pointe vers la rubrique Downloads du portail TECFA Seed. A cette date 193 tlchargements ont t enregistrs et plusieurs sites utilisent ce module. Plusieurs utilisateurs ont donn des feedback et suggr des amliorations renforant cet aspect de collaboration. La figure 6 la page 17 illustre le bloc FavLinks tel quon peut le voir sur le portail TECFA Seed (en haut droite). La prochaine tape devra donc tre la validation du module ArgueGraph par la communaut PostNuke.

Annexes

65

Annexe 2 : Le fichier myClass.php


<?php class myclass extends pnHTML{ function myURL($url, $text) { if (empty($url)) return; $output = "<a href=\"".$_SERVER['PHPSELF']."\" onclick=\"javascript:window.open('$url','_blank')\">"; if (!empty($text)) { if ($this->GetInputMode() == _PNH_PARSEINPUT) $text = pnVarPrepForDisplay($text) ; $output .= $text; } $output .= '</a>' ; if ($this->GetOutputMode() == _PNH_RETURNOUTPUT) return $output; else $this->output .= $output; } function myIMG($url, $text) { if (empty ($url)) return; $output = "<img src='$url' alt='$text' >"; if ($this->GetOutputMode() == _PNH_RETURNOUTPUT) { return $output; } else { $this->output .= $output; } } function myImgURL($url,$text,$alt) { if (empty ($url)) return; $output = "<a title='$alt' href='$url'><img SRC='$text' ALT='$alt'>"; if (!empty($text)) { if ($this->GetInputMode() == _PNH_PARSEINPUT) { $text = pnVarPrepForDisplay($text); } } $output .= '</a>'; if ($this->GetOutputMode() == _PNH_RETURNOUTPUT) { return $output; } else { $this->output .= $output; } } } ?>

La section suivante illustre le contenu du fichier myClass.php qui contient des fonctions que nous avons estims ncessaires et qui manquent lAPI pnHTML (voir page 44). Ces fonctions sont des mthode dune nouvelle classe myClass qui tend la classe pnHTML .
Annexes 66

La fonction myURL permet douvrir un lien dans une nouvelle page. La fonction myImg permet dafficher des images. La fonction myImgURL est une combinaison des deux fonctions prcdentes. Elle permet dafficher des liens image. Ces fonctions ont t utilises dans le module ArgueGraph, dans le module-bloc FavLinks (voir Annexe 1 page 64) et le module ePBL dvelopp par une collaboratrice TECFA pour lapprentissage par projet. La fonction myURL prsente tout de mme quelques problmes lorsquelle la navigateur utilis est Internet Explorer de Microsoft. Nous avons constat que lorsque lURL est lance, la page dorigine est systmatiquement redirige vers la homepage du portail. Il serait donc intressant de collaborer avec la communaut PostNuke pour trouver une solution ce problme et intgrer ces fonctionnalits dans lAPI pnHTML .

Annexes

67

Annexe 3 : Analyseur XML


Nous prsentons dans cet annexe le code source complet de lanalyseur de fichiers XML que nous pensons intressant. Cela compltera la description de lanalyse de fichiers XML que nous avons abord au chapitre 4 de ce document (page 52).
function parse($filepath) { global $obj; $output= new pnHTML() ; $error=0; $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "characterData"); if (!($fp = fopen($filepath, "r"))) { $error=1; } while ($data = fread($fp, 4096)) { if (!xml_parse($xml_parser, $data, feof($fp))) { $error=1; } } xml_parser_free($xml_parser); return $error; } function startElement($parser, $name, $attrs) { global $obj; // If var already defined, make array eval('$test=isset('.$obj->tree.'->'.$name.');'); if ($test) { eval('$tmp='.$obj->tree.'->'.$name.';'); eval('$arr=is_array('.$obj->tree.'->'.$name.');'); if (!$arr) { eval('unset('.$obj->tree.'->'.$name.');'); eval($obj->tree.'->'.$name.'[0]=$tmp;'); $cnt = 1; } else { eval('$cnt=count('.$obj->tree.'->'.$name.');'); } $obj->tree .= '->'.$name."[$cnt]"; } else { $obj->tree .= '->'.$name; } if (count($attrs)) { eval($obj->tree.'->attr=$attrs;'); } }

Annexes

68

function endElement($parser, $name) { global $obj; // Strip off last -> for($a=strlen($obj->tree);$a>0;$a--) { if (substr($obj->tree, $a, 2) == '->') { $obj->tree = substr($obj->tree, 0, $a); break; } } } function characterData($parser, $data) { global $obj; $data=addslashes($data); eval($obj->tree.'->data=\''.$data.'\';'); $data=stripslashes($data); }

Nous explicitons dans cet annexe les deux fonctions qui permettent de dtecter les balises de dbut et de fin. Ces deux fonctions sont startElement et endElement . La fonction characterData permet de remplir larbre obj avec le contenu de linformation dtecte entre les balises.

Annexes

69

Bibliographie
Rfrences Bielaczyc, K. & Collins, A. (1999). Learning communities in classrooms: a reconceptualization of educational practice. In Reigeluth, C. (Ed.), Instructional-Design Theories and Models: Vol. 2. A New Paradigm of Instructional Theory, (pp. 269- 292). Mahwah, NJ: Lawrence Erlbaum Associates. Bloom, B.S. (1984), The 2 Sigma Problem: The Search for Methods of Group Instruction as Effective as One-to-One Tutoring. Educational Researcher, (pp.3-16). Dillenbourg, P. (2002). Over-scripting CSCL: The risks of blending collaborative learning with instructional design, http://tecfa.unige.ch/perso/staf/notari/literature/dillenbour20021.doc. Dillenbourg, P., Baker, M., Blaye, A. & OMalley, C.(1995) The evolution of research on collaborative learning. In E. Spada & P.Reiman (Eds) Learning in Humans and Machine: Towards an interdisciplinary learning science. (pp. 198-211) Oxford : Elsevier. Frimout, D. & Wynants, M. (2000), Manifeste pour l'utilisation d'ordinateurs et de l'Internet dans l'enseignement, URL :http://www.manifest.be/executing.cfm?langue=FR. Gagn, R.M. (1987)(ed.) Instructional Technology : Foundations, Hillsdale :Erlbaum. Rousseau, M. (1999), Immersive Interactive Virtual Reality and Informal Education, Foundation of the Hellenic World, URL:http://www.fhw.gr/. Schneider, D. (2001),Le rle de l'Internet dans la formation suprieure: scnarii et technologies, colloque International Enseignement des Langues et Multimdia , Alger, avril 2001. Schneider, D.K, Synteta,V., Frt C., (2002) Community, Content and Collaboration Management Systems in Education: A new chance for socio-constructivist scenarios?. Proceedings of the 3rd Congress on Information and Communication Technologies in Education, Rhodes, September 26th-29th 2002. Synteta, P. (2001), EVA_pm: Design and Development of a Scaffolding Environment For Students Projects, Master Thesis, TECFA, FPSE, Univerit de Genve. Wilson, B. & Lowry, M., Constructivist Learning on the Web, in Burge, L. (Ed.), Learning Technologies: Reflective and Strategic Thinking. San Francisco: Jossey-Bass, New Directions for Adult and Continuing Education. Ouvrages scientifiques Cocoon: Building Xml Applications, Langham, M.; Ziegeler, C., Macmillan Computer Pub, 450 pages, Juillet 2002. Core Mysql Atkinson, L., Prentice Hall Computer Books, 721 pages, Novembre 2001.
Bibliographie 70

Php 4 Developer's Guide, Schwendiman, B., Osborne McGraw-Hill, 775 pages, Janvier 2001. Uml in a Nutshell: A Desktop Quick Reference, Alhir, S. S., Oreilly & Associates, 273 pages, Octobre 1998. Sites Web www.mysql.com www.php.net www.postnuke.com www.toutjavascript.com

Bibliographie

71

Você também pode gostar