CHAPITRE 5.
IMPLEMENTATION
Dans ce chapitre, nous présentons les différents
outils que nous avons eu à utiliser dans la phase
d'implémentation de notre projet.
1. Le choix technologique
Pour arriver à notre but, nous avons opté pour
le développement d'une plateforme web. Les technologies
employées sont :
ü PHP: est utilisé pour le traitement des
données y compris la composition des requêtes de la base de
données. [Hayder 07]
ü MySQLest utilisé pour stocker les données
sur le serveur. [Rigaux 09]
ü HTML5 et CSSsont utilisés pour décrire
l'interface utilisateur de notre système. [M@teo 21]
ü L'environnement de travail d'Eclipse : IDE pour le
développement [Eclipse]
2. Système de fichier la plateforme web.
Les cours enregistrés par l'auteur se trouvent dans le
dossier « Lessons », les sous dossiersportent le
libellé du cours qu'il contient.
Figure 11: Arborescence du fichier
1-Cours
Les cours enregistréspar contre, sont dans le dossier
« Excercises », chaque sous dossier porte l'identifiant et
le libellé du cours auquel il fait référence.
Figure12 : Arborescence du fichier
2-Exercises
3. Le pseudo algorithme de détermination du
profil de l'apprenant
A. Démarrage d'une évaluation
B. Choix de la compétence désirée
C. Le système sélectionne les cours
correspondants
D. Le système charge le paragraphe du premier cours
E. L'apprenant répond aux questions du premier
paragraphe
F. Le système détermine son résultat pour
ce paragraphe
G. L'apprenant passe au paragraphe suivant jusqu'à ce
qu'il épuise tous les paragraphes du cours.Si le résultat global
de l'apprenant à un paragraphe est < 70%, alors, ce paragraphe est
enregistré dans la liste des parties du cours à suivre.
H. une fois que l'apprenant termine l'évaluation dans
un cours, les résultats des paragraphes associés sont
additionnés puis enregistrés
I. L'apprenant peut alors voir le résultat de son
évaluation et la liste des paragraphes qu'il aura à suivre
J. Le système présente à l'apprenant les
paragraphes dans lesquels il présente encore des faiblesses.
4. Quelques codes sources
Extrait du fichier
« processyorlla.php » tâches:
évaluation et correction :
<?php
session_start();
include "ContentsFunction/remplir_combo.php";
require_once 'ContentsFunction/LessonFunction.php';
require_once 'ContentsFunction/CompetenceFunction.php';
require_once 'ContentsFunction/ExerciseFunction.php';
require_once 'ContentsFunction/EvaluationFunction.php';
useContentsFunction\LessonFunction;
useContentsFunction\CompetenceFunction;
useContentsFunction\ExerciseFunction;
useContentsFunction\EvaluationFunction;
//evaluation questions sorting
if (isset($_POST['evaluation_start'] )){
if (is_null($_POST['evaluation_start']) or
$_POST['evaluation_start']==""){ $_SESSION['valResut']="ErreurEnregistrement
non effectué ";
$_SESSION['info']="erreur";
header('location:Usettings.php?lien=evaluation');}
else{
$comp1=$_POST['competence1']; //competence selected by user
$_SESSION['h']=$comp1; //storing competence id for DB update
//selectionof lessons related to competence
$listing=array();
$listing=afficher($comp1, "competence");
//affciher(id,tablename) in ContentsFunction/remplir_combo.php
$_SESSION['b']=$listing[1]; //competence title
$Clesson1=$listing[2]; //lesson1 id selection to sort excercise
in its folder
$_SESSION['Clesson1']=$listing[2]; //lesson1 id selection to sort
answers for correction
$files = glob("Exercises/$Clesson1*/*.txt"); //selecting lesson
exercise from folder
$file_streaming=file_get_contents("$files[0]"); //affecting file
content to a variable
$_SESSION['a']=streaming($file_streaming); //displaying file
content to the user
header('location:Usettings.php?lien=evaluation');
}}
//evalutiaon correction
elseif (isset($_POST['evaluation_correction'] )){
if (is_null($_POST['evaluation_correction']) or
$_POST['evaluation_correction']==""){
$_SESSION['valResut']="Erreur Enregistrement non effectué
";
$_SESSION['info']="erreur";
header('location:Usettings.php?lien=evaluation'); }
else{
$_POST['1']; //answers selected by user
$_POST['2']; $_POST['3'];$_POST['4'];$_POST['5'];
$Canswer=$_SESSION['Clesson1']; //lesson1 id selection to sort
answers for correction
$files1 = glob("Exercises/$Canswer*/lookR.txt");
//selecting excercise answer file (lookR.txt) from folder
$f=file_get_contents("$files1[0]"); //reading file into a
variable
$s=0; //users' score counter
//for loop of the answer versus user response -not correct
for ($i=1;$i<strlen($f);$i++){
if ($f[$i]==$_POST[$i]) $s++; } //comparing users' anwser with
stored response
$profile= ($s/strlen($f)*100) ; // user score :
//profile determination
if ($profile < 70)$etat="retake";else $etat="passed";
//to sotreevaluation in the DB, we need user id, competence
id,profile-score, etat,date
$evaluation= new EvaluationFunction();
$evaluation->setUserId($_SESSION['userId']);
$evaluation->setCompetenceId($_SESSION['h']);
$evaluation->setLessonId($_SESSION['Clesson1']);
$evaluation->setScore("$profile");
$evaluation->setStatus($etat);
$evaluation->setDate1(date("y-m-d"));
var_dump($evaluation);
$evaluation->enregistrer($evaluation);
}
}
else { //do nothing }
?>
|