Académique Documents
Professionnel Documents
Culture Documents
Mémoire de licence
Présenté par
Mlle LADJIMI DJAMILA
Thème
Calcul d’indicateurs à base de trace
Pour l’adaptabilité
Avant tout, nous tenons à remercier le Bon Dieu pour le courage, l’aide et la patience
qu’Il nous a donné pour mener ce projet à terme.
Nous remerciement vont aussi à nos très chers parents aux quel on doit beaucoup et
sans eux ce présent travail ne serait jamais abouti.
Que notre enseignante et promotrice Mlle Samia AIT ADDA trouve ici, l’expression
de notre large reconnaissance. Nous voudrons la remercier particulièrement de nous avoir fait
découvrir un domaine de recherche très intéressent que le« traçage des interactions utilisateur
système ». Nous la remercions aussi pour ces innombrables remarques, son aide et sa
gentillesse. Qu’elle sache que nous gardons d’elle vivace image d’une personne possédant un
large spectre de savoir duquel on a beaucoup appris. En toute sincérité nous a honorés.
Enfin, que tous ceux qui ont contribué de prés ou de loin à l’accomplissement de ce
travail, trouvent ici l’expression de nos très profonds respects.
1
Dédicaces
A toute ma famille
Djamila.
2
Dédicaces
A toute ma famille
Djouhar.
3
Sommaire
Sommaire
1. Introduction ....................................................................................................................... 3
2. Définition de la modélisation d’un utilisateur ................................................................. 3
3. Pourquoi modéliser l’utilisateur ? ..................................................................................... 5
4. la personnalisation et l’adaptation .................................................................................... 5
1. Introduction ..................................................................................................................... 13
2. Traces ............................................................................................................................. 13
4
Sommaire
5
Sommaire
4. Conclusion ..................................................................................................................... 25
Chapitre3 : Etude conceptuelle du système
1. Introduction .................................................................................................................... 26
2. Présentation du projet ..................................................................................................... 26
3. L’architecture générale de la solution ........................................................................... 26
4. Identification des besoins ............................................................................................... 31
4.1. Identifier les acteurs ................................................................................................ 32
4.2. Les messages acteurs ............................................................................................... 32
4.3. Identification de cas d’utilisation ............................................................................ 32
4.4. Diagramme et description de cas d’utilisation ....................................................... 33
4.5. Diagramme de séquence système ........................................................................... 34
4.6. Elaboration du diagramme de classes ..................................................................... 35
5. Conclusion ..................................................................................................................... 36
Chapitre 4 : La réalisation
1. Introduction .................................................................................................................. 37
2. Description de l’environnement de développement ..................................................... 37
2.1 . Aspect matériel ....................................................................................................... 37
2.2. Aspect logiciel : ........................................................................................................ 37
2.2.1. Langage et outils de programmation .............................................................. 37
6
Sommaire
4.Conclusion ...................................................................................................................... 46
Annexes ................................................................................................................................... 52
7
Liste des figures
8
Liste des tableaux
9
Introduction générale
10
Introduction générale
Introduction générale
Utilisateur ou non d’Internet, chaque citoyen est aujourd’hui repérable par les données
qu’il laisse, ou que d’autres laissent sur lui, à travers quantité de dispositifs : page web, cartes
à puce, courriels, moteurs de recherche, etc. Ces traces emmagasinées par les réseaux
constituent un objet scientifique en même temps qu’un enjeu stratégique pour les États
comme pour les entreprises. Les sciences de la communication étudient l’usager à travers ses
pratiques, ses représentations et ses statistiques d’audience, et ceux, pour une éventuel
amélioration de outils manipulés et les services offerts.
Donc, l’objectif de notre travail, qui s’inscrit dans cadre générale, consiste en la
modélisation de l’interaction d’utilisateur du web à base de trace, en vue d’amélioration et une
préalable adaptation, qu’il soit du contenu, de navigation ou de présentation.
L’étude d’interaction se fait à l’aide d’une source de traçage, qui enregistre les traces
d’utilisations sous différentes formes la plus concrète, celle nommée « fichier log ».
Les fichiers logs sont en générale du texte brute difficile à comprendre et analyser par
n’importe quelle personne qu’elle soit novice en informatique ou non. Donc pour faciliter
leurs manipulations et interprétations, une analyse à l’aide d’un programme « logiciel
d’analyse des logs » est nécessaire, pour leur donner une sémantique selon le domaine
d’utilisation.
C’est dans ce cadre, que s’inscrit notre projet de licence, qui a pour thème « calcule
d’indicateur à base de trace pour l’adaptabilité ». Donc, grâce au langage java, nous allons
concevoir un produit portable avec une interface graphique conviviale, souple et simple,
permettant aux utilisateurs une manipulation facile de trace et ceci grâce aux calcule
d’indicateurs (chapitre 2).
Le présent document est un rapport traitant les différentes étapes de développement de
l’application. Il est structuré en trois parties principales:
La première, constituée des chapitres 1 et 2 donne un état de l’art sur la modélisation
de l’utilisateur en vue d’une adaptation, les traces de ce dernier et les fichiers logs.
Dans la seconde partie (chapitre 3), nous effectuerons une étude conceptuelle du
système à développer. Cela consiste entre autre en l'identification des acteurs et des
fonctionnalités à leur fournir et les choix de l'environnement de travail.
Enfin, la dernière partie (chapitre 4) est un rapport sur l'implémentation des besoins
identifiés durant l'étude conceptuelle. Des annexes ont été ajoutées afin d'apporter de plus
amples informations sur certains points décrits dans le rapport.
11
Chapitre1: Modélisation de l’utilisateur
12
Chapitre1 Modélisation de l’utilisateur
Chapitre1
Modélisation de l’utilisateur
1. Introduction :
Les informations fournies sur Internet sont présentées de la même manière pour tous
les utilisateurs même s’ils ne sont pas intéressés par les mêmes informations. Alors, il faut
trouver une solution pour fournir les informations adaptées aux besoins de l’utilisateur. Les
situations proposées permettent donc aux utilisateurs d’Internet d’accéder à l’information
pertinente, de naviguer dans un grand espace d’information sur Internet.
Le Web sémantique et les méthodes d’adaptation/personnalisation permettent de résoudre ces
problèmes, et donc nécessite de modéliser de l’utilisateur.
Dans ce chapitre nous présentons le principe de modélisation de l’utilisateur,
pourquoi modéliser ce dernier, en suite on va définir l’adaptation et la personnalisation et
pour finir on va citer quelques modèles existants.
13
Chapitre1 Modélisation de l’utilisateur
14
Chapitre1 Modélisation de l’utilisateur
4. la personnalisation et l’adaptation :
Suivant [3], avec l’énorme montant d’information disponible de nos jours, il est
nécessaire de rassembler et de distribuer uniquement les informations qui sont pertinentes
pour un individu ou un groupe d’individus dans un format et une disposition spécifiée et dans
un intervalle de temps spécifié par l’utilisateur.
15
Chapitre1 Modélisation de l’utilisateur
fois les besoins individuels des utilisateurs humains et les conditions propres à
l'environnement de l'application".
Personnalisatio Adaptation
n
16
Chapitre1 Modélisation de l’utilisateur
a) Méthodes
L'explication additionnelle: Les parties du document ce qui est appropriée au niveau de
connaissance de l'utilisateur est présenté.
L'explication pré-requise : Le système évalue les pré-requise nécessaires à la compréhension
de la page présentée à l'utilisateur. Si ce dernier ne possède pas les connaissances suffisantes,
le système intègre des informations supplémentaires sur les concepts inconnus dans la page.
L'explication comparative : Le système va vérifier si l'utilisateur connaît un concept similaire
à celui présenté dans la page Web (concept qu'il ne connaît pas), alors le système va ajouter
des explications qui insistent sur les similarités et les différences entre les deux concepts.
Les explications variantes : Le système possède différentes versions des fragments. Il
sélectionne ceux qui correspondent le plus au profil de l'utilisateur.
Le tri : Les différents fragments d'information sont triés en fonction de leur pertinence pour
l'utilisateur.
b) Techniques :
Ces méthodes sont implémentées dans ces techniques :
Le texte conditionnel : Dans cette technique, on divise l'espace d'information en des fragments
et chaque fragment est associé avec des conditions sur le niveau de connaissance de
l'utilisateur. Le système va choisir les plus appropriés fragments.
Le stretchtext: Dans l'hyper-space traditionnelle, si on a besoins de détailler un concept ou un
mot clés, il y a un lien vers autre texte. Dans cette technique, on remplace directement ces
mots clés par un texte détaillé dans le document. Par exemple, dans un document au sujet de
la programmation de PHP, on a des mots « HTML ». Pour un utilisateur qui ne le connait pas,
on va ajouter la définition de HTML dans le document, sinon, seulement le mot « HTML ».
La réorganisation de fragments: Selon la préférence et l'objectif d'utilisateur, le système va
réorganiser les fragments pour donner des variantes représentations.
Les pages et fragments variants: Le but de cette technique est de pouvoir présenter les mêmes
informations de différentes façons. Une page ou un fragment ont des plusieurs versions
corresponds à chaque type d’utilisateur.
Les techniques à base de cadre (frame): Un concept est décris comme un cadre dans lequel il
y a des rainures. Chaque rainure est associée aux fragments variants, des liens vers d'autre
17
Chapitre1 Modélisation de l’utilisateur
cadre. Le système dispose aussi des règles de présentation permettant de sélectionner les
rainures et de les organiser en fonction des caractéristiques de l'utilisateur.
L'adaptation de modalité: On a plusieurs présentations d'une information, chacune
correspondant à un média différent. En fonction des préférences de l'utilisateur et du contexte
de consultation (support, logiciels disponibles), le système propose l'information sur l'un ou
l'autre des médias.
2. Les méthodes de navigation adaptative :
Dans [4], Peter Brusilovsky définit la navigation adaptative autour de cinq méthodes
qui peuvent être aussi considérées comme des buts à atteindre par les techniques de
navigation adaptative: Guidage global, Guidage local, Repère de navigation global, Repère
de navigation local et Vues personnalisées. Afin de réaliser ces méthodes et d'avoir
l'adaptation à l'objectif de l'utilisateur, en général on appliquer les techniques suivantes: [4].
Le guidage direct: Le système détermine à partir des objectifs et connaissances de l'utilisateur
le meilleur "prochain" nœud à visiter. Le lien vers ce nœud est représenté par un bouton
"suivant" ou "continuer".
Le tri: Le système donne à l'utilisateur une liste de liens triés pour l'aider à choisir la partie
suivante dans sa stratégie de lecture. Elle est très utilisée dans le système de recherche
d'information. Trois façons utilisées: le masquage de liens, la désactivation de liens, la
suppression de liens.
Le masquage: Le but de cette technique est de limiter l'espace d'information à l'utilisateur.
Les liens qui ne conviennent pas au niveau de connaissance ou à la préférence d'utilisateur
sont masqués.
L'annotation: Cette technique consiste à présenter les liens différemment en fonction de la
pertinence du nœud destination pour l'utilisateur [2]. On peut utiliser les couleurs, les
symboles pour aider l'utilisateur à classifier les liens, les textes selon le niveau de
connaissance et aussi la préférence.
18
Chapitre1 Modélisation de l’utilisateur
19
Chapitre1 Modélisation de l’utilisateur
20
Chapitre1 Modélisation de l’utilisateur
informations liées à l’état psychique, émotionnel, physique, le contexte dans lequel se trouve
l’utilisateur etc.
Modèle utilisateur
La figure 2 représente une forme simplifiée d’un système pour la modélisation des
utilisateurs. Ce système acquiert les données par l’intermédiaire d’un éditeur de profil
utilisateur (d’une façon explicite), ou en utilisant différentes techniques de modélisation
utilisateur. Les techniques de modélisation utilisateur et les mécanismes de personnalisation
constituent des services intelligents comme représenté dans la Figure 2.
L’interaction personnalisée nécessite plusieurs étapes parmi lesquelles:
· La définition du modèle utilisateur
· L’acquisition des données utilisateurs
· Le raisonnement et les inférences
· La génération de services personnalisés
Les mécanismes de personnalisation peuvent consister en des techniques adaptatives variées
ou être basées sur les interactions des agents. Un système adaptatif, flexible permet
l’adaptation de sa fonctionnalité et son contenu hypermédia selon les besoins et
caractéristiques des utilisateurs.
21
Chapitre1 Modélisation de l’utilisateur
7. Conclusion :
Nous avons vu dans ce chapitre l’utilité de modéliser l’utilisateur ainsi que les étapes
et méthodes qui contribuent à cette modélisation, et le but de ce chapitre était de présenter les
méthodes d’adaptation/personnalisation qui sont une solution qui permette aux utilisateurs du
web d’accéder à l’information pertinente.
Adapter aux préférences et aux besoins de l’utilisateur ne pourra être réalisé, comme nous
l’avons constaté par l’étude des modèles, sans avoir recours à des informations sur ce dernier
et qui sont ses différentes interactions avec le system qu’on appellera trace, ce qui sera
l’objet de discussion et d’étude dans le chapitre qui suit.
22
Chapitre2: Les traces et les fichiers logs
23
Chapitre2 Les traces et les fichiers logs
Chapitre 2
Les traces et les fichiers logs
1. Introduction :
Les expériences vécues par un individu constituent son histoire, elles sont un matériau
pour son futur. Ces expériences peuvent être mobilisées, après qu’elles aient eu lieu, dans,
d’autres situations. Nombre de recherches se sont intéressées à l’utilisation des expériences
passées, en particulier des recherches sur le processus de conception.
2. Traces:
2.1. A la recherche d’une Définitions [11]:
Lorsque l'on aborde la question des traces, il faut tout d'abord pouvoir s'entendre sur
la définition que l'on associe au terme trace. En effet, il existe actuellement plusieurs points de
vue sur ce que pourrait être cette définition d'une trace.
D'après P. Jermann [14], une trace est une observation ou un enregistrement de l'interaction de
l'apprenant avec un système en vue d'une analyse. Dans le même sens, J-P. Pernin [15] définit
une trace comme un indice de l'activité des acteurs d'une situation d'apprentissage, qu'elle soit
ou non instrumentée. Il complète, par ailleurs, sa définition en précisant qu'il s'agit d'un
résultat obtenu au cours ou au terme d'une activité, d'un événement ou d'un ensemble
d'évènements relatifs au déroulement de la situation d'apprentissage. Dans une optique
légèrement différente, P-A. Champin[16] parle d'une séquence d'états et de transitions
représentant l'activité de l'utilisateur : «la séquence temporelle des objets et opérations
mobilisés par l’utilisateur lorsqu’il utilise le système est appelée trace d’utilisation ». Dans ces
trois « définitions », une trace est une trace d'activité, d'utilisation, d'interaction. On parle
alors de traces primaires, brutes, de base ou de « bas niveau ». Il ressort également de ces
24
Chapitre2 Les traces et les fichiers logs
définitions qu'une trace est temporellement marquée, plus particulièrement lorsque Champin
parle de séquence temporelle.
Ces traces brutes ne portant aucune interprétation, des traces de « plus haut niveau » sont
construites par agrégation ou structuration de traces de « bas niveau », ainsi que par
l’application d'opérations (par exemple : des données statistiques) sur celles-ci. Ces traces
sont porteuses d'une information plus complexe que les traces primaires. Jermann et Pernin
avancent alors le terme d'indicateurs pour désigner ces traces secondaires.
On y retrouve plusieurs définitions concernant les traces. Notamment, on y considère
qu'une trace est une donnée de base enregistrée par un système.
Les données obtenues en effectuant une opération (calcul, ajout de sémantique) sur une trace
ne sont pas considérées comme des traces, elles sont désignées sous le terme d’indicateurs.
En conception logicielle, l’enregistrement de l’expérience inscrite et « capitalisée »
dans des traces des interactions utilisateur-système est un domaine de recherche actif, à
l’origine du développement de systèmes qui tracent ces interactions. Nous présentons ci-
dessous différents types de systèmes « traçants ».
2.2. Types de systèmes qui tracent les interactions utilisateur système [17] :
Dans le domaine de l’interaction homme-machine, le traçage des interactions
utilisateur système et l’utilisation des traces comme outils de recherche existent depuis
25
Chapitre2 Les traces et les fichiers logs
longtemps [18]. Ces traces sont des historiques, utilisés pour comprendre la situation
d’interaction ou pour assister l’utilisateur dans sa tâche.
Selon le fait que les situations d’utilisations des histoires interactionnelles sont ou non
présentées à l’utilisateur il y a quatre types de système qui traces les interactions utilisateur
système.
26
Chapitre2 Les traces et les fichiers logs
d’apprentissage instrumenté, Després [20] a développé un système basé sur les traces
d’interactions, permettant au tuteur de percevoir l’état d’avancement du travail des
apprenants. En interaction homme-machine, un « espion » bien connu est PlayBack [21] Les
traces d’interactions enregistrées peuvent être à l’origine de comptages divers : temps passés,
fréquences d’utilisation, fonctionnalités utilisées ou inutilisées, erreurs, taux de réussite, etc.
[22] citent d’autres mesures plus spécifiques telles que le taux de répétition, le taux de
composition et la localité [23]. Pour classifier les traces, des méthodes issues des travaux sur
la reconnaissance de formes sont appliquées : réseaux de neurones et recherche de séquences
répétées.
Notre application se penche sur ce type du système.
2.2.3. Systèmes présentant une visualisation de l’histoire interactionnelle destinée à
l’utilisateur et lui proposant la possibilité d’y naviguer :
Le troisième groupe de systèmes offre une visualisation des traces d’interactions aux
utilisateurs, et leur permet de naviguer dans ces informations. Ces systèmes présentent
l’histoire interactionnelle aux utilisateurs en vue de supporter leur activité. Les possibilités des
utilisateurs d’interagir avec cet historique sont limitées à de la navigation et ne concernent pas
le déclenchement de nouvelles actions ni la saisie d’informations déclenchant des actions.
Certains systèmes concernent la navigation, d’autres sont destinés à des situations
d’apprentissage.
27
Chapitre2 Les traces et les fichiers logs
2.3.2. La réflexivité :
Les systèmes présentés aux 2.2.3 et 2.2.4 sont des systèmes qui présentent une
visualisation de l’histoire interactionnelle pour les utilisateurs, en s’appuyant sur la
métacognition, ont pour objectif de favoriser la prise de conscience réflexive par les
utilisateurs de leur activité. Par activité réflexive, nous entendons davantage qu’une activité
réfléchie, c’est-à-dire tournée vers soi. Nous désignons une activité se prenant elle-même pour
objet. L’idée est que le système informatique peut servir de « miroir doté de mémoire » pour
l’utilisateur, par le biais de la présentation des traces informatiques, ces dernières suscitant
chez l’utilisateur une prise de distance par rapport à son activité à l’origine d’une prise de
conscience de nature meta. Une des méthodes réflexives utilisées en ergonomie consiste à
utiliser les traces de l’activité d’opérateurs (via des enregistrements vidéo) comme un outil de
28
Chapitre2 Les traces et les fichiers logs
construction de savoirs nouveaux [27], par la mise à distance temporelle et physique du sujet
face à son activité.
Nous présentons ci-dessous une approche informatique pour la conception et
l’évaluation « centrées utilisateur » de systèmes visant une réelle coopération entre la machine
et l’utilisateur, le raisonnement à partir de l’expérience tracée.
29
Chapitre2 Les traces et les fichiers logs
30
Chapitre2 Les traces et les fichiers logs
31
Chapitre2 Les traces et les fichiers logs
3. Fichier log :
3.1. Définition [31]:
Le terme « log » provient de la langue anglaise (journal de bord des navires). Il est
notamment employé en informatique pour désigner un historique d’événements et par
extension le fichier contenant cet historique.
Le terme « log » en tant que tel n’apparaît pas dans la réglementation française. Les
textes applicables, qu’il s’agisse de textes nationaux ou de directives communautaires,
retiennent les termes suivants :
– « données relatives au trafic »1 ;
– « données de nature à permettre l’identification »2 ;
– « données de connexion à des services de communications électroniques »3 ;
– « données de connexion »4 ;
– « fichiers de journalisation des connexions
32
Chapitre2 Les traces et les fichiers logs
Ils enregistrent tous les transferts de fichier résultant d’une requête d’un client à un
serveur, ils contiennent principalement le nom et le type ( image, vidéo…) du fichier demandé
ainsi que l’adresse de la machine hôte.
Ils conservent la trace incidente survenue lors d’une transaction entre le client et le
serveur. Principal intérêt de ces fichiers logs d’erreurs en terme de mesure d’audience d’un
site web, réside dans le fait qu’ils donnent la possibilité de savoir dans qu’elle fichier ou
téléchargement a été interrompue et donc repéré les pages sur les quelles les utilisateurs
quittent le site internet.
Ils facilitent l’identification à la fois du site depuis lequel le client est arrivé(par
exemple un moteur de recherche ou un site contenant un lien avec le site étudié) et de la page
du site étudié sur lequel le client est arrivé.
Les fichiers logs tracent tous les événements qui arrivent pendant l’activité d’un
système. Ils peuvent contenir la preuve en détail de toute activité exceptionnelle, suspecte ou
non désirée. Les fichiers logs issus des différents composants d’un réseau peuvent indiquer
si la sécurité du réseau est compromise ou en voie de compromission. Par exemple l’utilité
d’un fichier log pour un serveur web est :
En effet, des formats standards ont été développés. Parmi les quels, on peut citer : le format
W3C Etendu et le format log commun
C’est un format ASCII adapté avec une variété de champs. L’utilisation de ce format
permet d’inclure des champs importants comme elle peut omettre des champs non désirés.
Les champs sont séparés par un espace, le temps est enregistré en GMT (Greenwich Mean
Time). Ce format est disponible pour les serveurs Web et les serveurs FTP.
Cette entrée signifie que le 02 mai 1998 à 17h 42 mn 15s (GMT), un utilisateur ayant
l’adresse IP 172.16.25.10 et en utilisant HTTP 1.0 a lancé une requête GET/default.html.
Cette requête signifie le téléchargement de la page Web default.html. La requête est exécutée
avec succès. La valeur 200 étant le code de l’état du service, cette valeur indique le succès de
la requête.
C’est un format ASCII fixé disponible uniquement pour les serveurs Web. Il a été
développé par NCSA (National Center for Supercomputing Applications) à l’université
d’Illinois à Urbana-Champaign. Chaque entrée contient les champs suivants :
• Le nom de l’utilisateur
34
Chapitre2 Les traces et les fichiers logs
• Le code de l’état HTTP retourné à l’utilisateur : c’est le code de la réponse http envoyé par
le serveur au client.
• La taille en octets des informations envoyées par le serveur Les champs sont séparés par un
espace, le temps enregistré est le temps local.
Cette entrée indique qu’un utilisateur appelé FRED utilisant une adresse IP 172.21.13.45 a
envoyé au serveur Web une requête en utilisant la commande HTTP qui est « GET » pour
télécharger le fichier scripts/iisadmin/ismi.dll. Cette requête a été soumise au serveur le 08
Avril 1998 à 17h39mn 10 s temps local et elle a été retournée avec succès (code d’état
HTTP= 200). Les données envoyées à l’utilisateur FRED ont une taille de 3401 octets.
Remarque :
La réponse d’un serveur à un client peut être faite avec succès ou échec. Le code de
l’état de la réponse peut renseigner sur ce résultat.
▪ Si le code d’état ∈ {200, 201, 202, 203, 204, 300, 301, 302, 303, 304}, Alors le serveur a
répondu au client avec succès.
▪ Si le code d’état ∈ {400, 401, 402, 403, 404, 500, 501, 502, 503}, Alors le serveur n’a pas
répondu à la requête, il y a eu un échec et par conséquent la taille des données transférées au
client est égale à 0.
Ces fichiers se présentent sous la forme de lignes de codes laissées sur les serveurs.
Pour bénéficier d'une présentation plus digeste, certains logiciels ont été conçus pour faire une
synthèse graphique des données.
35
Chapitre2 Les traces et les fichiers logs
Malgré l’importance des fichiers logs, néanmoins certains problèmes demeurent posés.
Nous citons :
• Les fichiers logs contiennent beaucoup d’information, ils sont immenses et par conséquent
l’analyse de leurs contenus devient une tâche très difficile.
• Les fichiers logs menacent la vie privée (privacy) de l’utilisateur. Un utilisateur refuse l’idée
que toutes ses activités soient enregistrées.
• Les fichiers logs peuvent être menacés comme d’autres formes de données dans le réseau ou
dans un système. Un attaquant qualifié pénétrant dans un système peut effacer les fichiers logs
ou modifier leur contenu. Il peut même arrêter le mécanisme d’enregistrement.
4. Conclusion :
Nous avons vu dans ce chapitre c’est quoi une trace d’interaction, l’intérêt de tracer
l’utilisateur, Nous avons cité une classification des logiciels qui tracent les interactions
utilisateurs-système, selon l’usage qui est fait des traces dans ces systèmes. Certains de ces
systèmes proposent une visualisation des traces à l’utilisateur, en vue de leur permettre
d’avoir une activité meta sur leur activité, et font appel aux concepts de métacognition et de
réflexivité.
Nous avons vu que les traces informatiques peuvent avoir différents niveaux d’abstraction,
selon le niveau d’interprétation souhaité par le concepteur du logiciel. Comme on a vu le
Principe général du Raisonnement à partir de l’Expérience Tracée, et enfin, nous avons vu la
définition des fichiers logs, qui est le moyen le plus concret pour tracer.
Le chapitre suivant sera réservé pour la modélisation de notre solution à l’aide du langage de
modélisationUML.
36
Chapitre3: Etude conceptuelle du système
37
Chapitre3 Etude conceptuelle du système
Chapitre3
Etude conceptuelle du système
1. Introduction :
L’étude conceptuelle d’un système avant sa réalisation est une phase importante pour
son élaboration, c’est un moyen qui permet de mieux comprendre le fonctionnement du
système, ainsi que de bien maitriser sa complexité et d’assurer sa cohérence.
Le but de ce chapitre est de concevoir un outil qui permet d’analyser un type de trace
qui est le fichier log. Pour ce faire, le chapitre est subdivisé en deux sections distinctes.
2. Présentation du projet :
Rappelons que le logiciel que nous allons développer comportera une tâche qui consiste à
calculer des indicateurs a partir d’un fichier log c'est-à-dire la détermination du taux de
consultation de chaque pages dans un site.
Le système calcule le nombre d’accès aux pages d’un site et la fréquence d’utilisation des
pages et la durée de consultation…d’un site en question.
Notre travail s’inscrit dans le cadre de l’analyse des traces. Pour atteindre cet objectif,
nous proposons l’architecture générale représentée dans la figure 2.
38
Chapitre3 Etude conceptuelle du système
Collecte
Filtrage
Fichier
Visualisation Calcul d’indicateur
XML
Trace transformée
Dés que l’utilisateur active l’outil d’enregistrement des traces « mini key » (cf.
Annexe), toutes ces interactions avec le système seront enregistrées sous forme d’un fichier
log qu’on a nommé trace première.
Lorsque l’analyste de la situation active LOG ANALYZER ce fichier log sera analysé
et filtré pour créer un fichier XML suivant un modèle que nous avons proposé (), ce dernier
sera interrogé pour le calcul d’indicateurs qui seront affichés à l’écran en vue d’être visualisés.
39
Chapitre3 Etude conceptuelle du système
Nous pouvons identifier trois principaux modes comme designer sur la figure 5 :
Une collecte manuelle : qui est procédé par un observateur humain, acteur ou non dans la
situation d’apprentissage avec l’outil papier crayon et l’éventuelle aide de quelque
logicielle tel que Word, Excel …etc.
Collecte audiovisuelle : exécutée par un outil capable de créer des enregistrements visuels
et audio de la situation d’apprentissage.
Collecte numérique : menée en utilisant un environnement informatique sauvegardant
l’activité de l’apprenant, tel que les outils de traçage. Les résultats de la collecte
numérique sont une trace numérique.
Le filtrage : comme ce fichier contient une masse quantité d’informations, il sera alors
analysé et filtré afin d’extraire seulement les données nécessaires pour le calcul
d’indicateurs et les structurer dans un fichier XML afin d’avoir un fichier qui a une
structure fixe, car si la source de traçage change la structure de fichier log change donc on
n’a pas a recalculé à chaque fois ces indicateurs. Donc au lieu de réécrire toutes les
40
Chapitre3 Etude conceptuelle du système
fonctions (le traitement) de calcul d’indicateurs on réécrit seulement la fonction qui fait le
filtrage du fichier log.
Modèle trace
La racine du modèle est la trace. Nous avons choisi d’encapsuler tous les autres
composants, décrits par le modèle dans cet élément.
La trace est associée à un utilisateur qui est observé lors de ses interactions avec le
système, cet utilisateur est composé de deux éléments, utilisateur_info et pages, le premier
possède un nom et heure d’accès qui représente l’heure de début de traçage, et le deuxième
possède page.
Toute page est composée de plusieurs éléments : heure c’est l’heure d’accès à cette
page, date, titre_page représente le titre de la page, lien_consulter est l’adresse complète de
cette page.
Le tableau qui suit résume la structure de la trace que nous avons adoptée :
41
Chapitre3 Etude conceptuelle du système
- <users>
- <internaute_info>
<heure_acces>13:44:43</heure_acces>
<nom>post32</nom>
</internaute_info>
- <pages>
- <page>
<heure>14:08:11</heure>
<date>30/05/2010</date>
<titre_page>Créez vos jeux avec Game Maker</titre_page>
<lien_consulter>http://www.siteduzero.com/tutoriel-3-239451-creez-vos-jeux-
avec-game-maker.html</lien_consulter>
</page>
</pages>
</users>
Une méthode de structuration de trace est nécessaire, Pour cela, nous avons développé
un modèle d’indicateur, structurant les traces en indicateur de haut niveau, et ceci grâce à des
méthodes et des processus de calcul. Ce modèle sera présenté dans la section qui suit.
42
Chapitre3 Etude conceptuelle du système
Nous pouvons faire aussi une distinction des indicateurs à travers trois types :
Indicateur de haut niveau : celui qui a une interprétation significative. Il est construit par le
processus de calcul d’indicateur depuis des données brutes et d’autres indicateurs
intermédiaires.
Indicateur intermédiaire : sa valeur n’est pas finale mais sert d’intermédiaire pour
construire d’autres indicateurs.
Indicateur de bas niveau : ceux qui n’ont pas une interprétation autonome et qui sont
construits directement par des données brutes.
Dans ce qui suit nous élaborons les différents diagrammes qui correspondent aux
différentes vues de notre système.
43
Chapitre3 Etude conceptuelle du système
Vu le besoin de réaliser cet outil dont nous venons d’exposer ces principales
fonctionnalités, nous avons fait une étude conceptuelle, qui consiste à développer un logiciel
permettant d’offrir le service : Statistiques autrement dit indicateurs.
L’objectif final de l’analyse d’un fichier log est le calcul d’indicateurs suivant :
Internaute info : Les informations qui concernent l’utilisateur telles que nom de
l’utilisateur et l’heure de démarrage de traçage.
La liste des pages visitées : cet indicateur permet de voir les différents liens consultés, il
est calculé en utilisant une fonction qui fait le chargement du fichier log et fait l’affichage
des liens en faisant appel à une autre fonction qui vérifie à chaque fois si le lien est déjà
affiché pour éviter la redondance.
La fréquence d’utilisation des pages : c’est le taux de consultation de chaque page, ce taux
est le nombre de fois que chaque lien est consulté, il est calculé à l’aide d’une fonction qui
fait le chargement du fichier log, et calcule le nombre de fois que le lien existe dans la
trace.
La moyenne de consultation des pages : en terme de fréquence, représente la moyenne de
consultation de chaque page, pour le calculer on a utilisé la règle de calcul suivante : la
fréquence d’utilisation de la page/le nombre total des pages consultés.
La durée de consultation des pages : en utilisant une fonction qui permet de calculé et
d’afficher la durée de consultation de chaque page, dans notre cas c’est la différence entre
l’heure de début de consultation de la page en question et l’heure de début de consultation
de la page suivante.
Affichage de fichier log : cet indicateur permet d’afficher la trace première et ça à l’aide
d’une fonction qui fait le chargement du fichier log et affiche sur l’écran.
En analysant le contexte du problème, nous avons conclu que le seul acteur qui interagit est le
suivant :
44
Chapitre3 Etude conceptuelle du système
45
Chapitre3 Etude conceptuelle du système
Titre :
Statistique
Auteur principale : l’analyste du système
Intention :
obtenir les différentes statistiques concernant les pages visitées
Enchainement nominaux :
Enchainement: afficher les statistiques concernant les pages visitées
Besoin d’IHM :
Interfaces pour afficher les statistiques
Visualisation
Internaute info Include
Include
Liens consultés Règle de calcul
Statistique
Include
Heure durée
Transformation
Fréquence lien
Include
Afficher log
L'interprète des traces d’utilisation du dispositif est «l’analyste du système ». Son objectif
est : La mise au point des scénarios.
Son rôle est décrit sur la figure 4, après avoir choisit le fichier log à analyser, l’analyste
visualise les indicateurs calculés a partir du fichier trace crée.
46
Chapitre3 Etude conceptuelle du système
Interface de la statistique
Interface principale
Interface des statistiques
Utilisateur (Accueil)
Statistique affichée
47
Chapitre3 Etude conceptuelle du système
Fichier log
1
•Chemin Liens consultés
*µ1.
Connaissances
.*
1..*
•Liens consultés Afficher
1..* •Internaute info
Extraction *
• Fréquence lien
• Heure durée 1
• Afficher log *
1 * * µ
* * 1
* 1. Internaute info
Fichier XML * 1 * *µ1.
Identifiant µ * µ .* Afficher
µ .*
1. µ 1. 1.
.* 1. .* .* 1
1..* .* Fréquence lien
Mettre *µ1.
Afficher
.*
1
1 Heure durée
Afficher *µ1.
XML traitement .*
La classe fichier log permet de récupérer le chemin du fichier à analyser puis la classe
fichier XML fait l’extraction des données à partir du fichier choisit, et crée par la suite le
modèle de trace (fichier XML). La classe XML traitement possède deux fonctions, importer
les données et traitement, c'est-à-dire utiliser les données du fichier XML et faire le traitement
prédéterminer pour le calcule d’indicateur désiré. La classe connaissance présente l’interface
48
Chapitre3 Etude conceptuelle du système
principale qui englobe toutes les fonctions qui permet d’afficher séparément chaque
indicateur.
5. Conclusion :
Durant ce chapitre nous avons présenté le schéma général de notre solution ainsi que
l’architecture conceptuelle de notre application en utilisant l’approche objet, et cela en
utilisant des différents diagrammes de modélisation du langage UML, qui nous a permet une
conception en modulaire et réutilisable ce qui facilite la maitrise et la production du logiciels.
49
Chapitre4 : La réalisation
50
Chapitre4 La réalisation
Chapitre 4
La réalisation
1. Introduction
Il est bien évident qu’une conception bien faite facilite beaucoup la réalisation du
projet en tenant compte de ce qu’on a modélisé dans les étapes précédentes , nous allons dans
ce chapitre d’écrire le fonctionnement de notre application ainsi que quelques explications
nécessaires pour comprendre son fonctionnement à travers les différents interfaces qui la
compose .
Le choix du langage adéquat est une étape très délicate dans le développement des
logiciels, pour le développement de notre logiciel (log analyseur), nous avons choisi le
langage de programmation java qui est un langage très puissant pour le développement de très
nombreuses applications surtout dans le domaine des réseaux et internet.
En utilisant le langage java qui offre une compatibilité totale d’exécution sur différents
systèmes d’exploitation, notre produit fonctionne sur n’importe quelle plateforme. Ce logiciel
est testé sur les systèmes d’exploitation suivants : Windows XP et windows7
51
Chapitre4 La réalisation
1
2
52
Chapitre4 La réalisation
Cette fenêtre permet à l’utilisateur de choisir le fichier log à analyser, elle est montrée
par la figure qui suit :
Après le choix du fichier log, une boite d’information apparait pour avertir l’utilisateur
que le chargement et le traitement du fichier log peut prendre quelques secondes ou minutes
en dépend de la taille du fichier log utiliser. La figure suivante représente cette boite
d’information :
53
Chapitre4 La réalisation
Cette fenêtre est composée d’une barre de menus, du cinq boutons, est d’une table :
54
Chapitre4 La réalisation
Un clic sur le bouton « Liens » (5) permet l’affichage d’une fenêtre permettant de voir
la liste des pages consultées.
Un clic sur le bouton « Internaute » (6) permet l’affichage d’une fenêtre permettant de
voir des informations sur l’utilisateur.
Un clic sur le bouton «Fréquences » (7) permet d’afficher une fenêtre permettant de
voir la fréquence d’utilisation et la durée de consultation de chaque page.
Un clic sur le bouton « Heure_durée » (8) permet l’affichage d’une fenêtre permettant
de voir l’heure d’accès et la durée de consultation de chaque lien.
Un clic sur le bouton « Fichier log » (9) permet d’afficher une fenêtre permettant de
présenter le fichier log.
La barre des menus statistique de la fenêtre principale regroupe les actions des buttons qu’on
vient de présenter.
55
Chapitre4 La réalisation
16
10
11
12
0
13
14
150
17
Description de l’interface :
Elle se compose d’une barre de menus(16), de cinq boutons et une table (17) qui représente le
nom de l’ordinateur et l’heur d’accès.
La barre des menus statistique regroupe toutes les fonctionnalités des boutons qu’on vient de
présenter.
56
Chapitre4 La réalisation
Un click sur un des choix une fenêtre qui corresponde à l’indicateur va apparaitre.
Cette interface permet à l’utilisateur de voir les différentes pages qui à visiter. La
fenêtre de cette interface est représentée par la figure suivante :
18
20
19
Description de l’interface :
Elle se compose d’une barre de menus(18), des boutons(19) et une table(20) qui contient la
liste des pages consultées. La barre des menus regroupe toutes les fonctionnalités de ces
buttons.
57
Chapitre4 La réalisation
21
0
22
23
Description de l’interface :
Elle se compose d’une barre de menus(21), de boutons (22) et une table(23) qui contient la
fréquence d’utilisation de chaque page. La barre des menus regroupe toutes les fonctionnalités
de ces buttons.
58
Chapitre4 La réalisation
24
25
26
Description de l’interface :
Elle se compose d’une barre de menus (24), de boutons (25) et une table (26) qui présente le
contenu de fichier log. La barre des menus (24) regroupe toutes les fonctionnalités de ces
buttons.
59
Chapitre4 La réalisation
27
28
29
Description de l’interface :
Elle se compose d’une barre des menus(27), des boutons (28) et une table(29) qui contient
l’heure et la durée de chaque page consultée. La barre des menus à travers laquelle nous
pouvons afficher n’importe quels indicateurs, et ouvrir un fichier log, aussi elle permet quitter
l’application.
4. Conclusion :
Dans ce chapitre nous avons présenté l’environnement du développement de
l’application réalisée. L’objectif principal de cette application est de calculer des indicateurs à
partir d’un modèle de trace que nous avons proposé lors de la conception, en se basant
principalement sur un fichier Log.
Nous avons présenté aussi les différentes interfaces de l’application qui regroupe les
fonctionnalités qu’offre cette dernière.
60
Conclusion générale
61
Conclusion générale
Conclusion générale
Le but principal de ce projet était d’apporter des éléments de compréhension
concernant l’utilisation des traces d’interactions et les processus cognitifs qui y sont associés
dans le cadre d’une activité conjointe, et médiée par un système numérique (site et portail web
à titre d’exemple). Pour cette étude, nous avons mobilisé plusieurs domaines de recherche, et
principalement celui de la trace.
62
Annexes
63
Annexes
Annexe1
UML « Unified Modeling Language »
1. Introduction:
Pour faire face à la complexité croissante de l’ingénierie du logiciel, de nouvelles
méthodes et outils ont été crées. La principale avancée des quinze dernières années réside
dans la programmation orientée objet(P.O.O).
De très nombreuses méthodes ont également vu le jour comme OOD, OMT …Dans ce
contexte et devant le foisonnement de nouvelles méthodes de conception « orienté objet »,
l’objet Management Group(OMG) a eu comme objectif de définir une notation standard
utilisable dans les développements informatiques basés sur l’objet. C’est ainsi qu’est apparu
UML (Unified Modeling Language « langage de modélisation objet unifié »), qui est issu de
la fusion des méthodes OOD (Object Oriented development), OMT (Object Modelling
Technique) et OOSE (Object Oriented Software Engineering).
Issu de terrain et fruit d’un travail d’experts reconnus, UML est le résultat d’un large
consensus. De très nombreux acteurs industriels de renom ont adopté UML et participent à
son developpement.En l’espace d’une poignée d’années seulement,UML est devenu un
standard incontournable auquel on donnera une brève présentation de ses quelques concepts.
Un objet est une représentation simplifiée d’une entité du monde réel, qu’il s’agisse
d’entité concrète (avec une « réalité physique ») ou conceptuelle (abstraite).Les trois
caractéristique fondamentales d’un objet sont l’état, le comportement et l’identité. L’état
correspond aux valeurs instantanées de tous les attributs(ou données membres) de l’objet. Le
comportement décrit les actions et les réactions d’un objet(ou ‘compétences ‘ d’un objet ) et se
matérialise sous la forme d’un ensemble d’opérations(ou méthodes ou fonctions
membres).L’identité permet de distinguer tout objet de façon non ambiguë, indépendamment
de son état (de ses attribut).
64
Annexes
Une classe est une description abstraite (condensée) d’un ensemble d’objet du domaine
(instance de la classe) de l’application : elle définit leur structure, leur comportement et leurs
relations.
a) L’association :
Une association décrit la connexion entre plusieurs classes. Les classes sont
indépendantes les une des autres, dans le sens ou l’existence d’une e instance de ces classe ne
dépend pas d’une autre.
b) L’encapsulation :
Un objet est comme une coquille cachant à l’utilisateur son contenu tant au point de
vue des données que des opérations. Seules les spécifications des opérations dites publiques
sont visibles des utilisateurs. Comme un objet peut contenir d’autres objet, l’encapsulation
permet de diminuer la complexité en limitant la connaissance de l’utilisateur aux seules
choses dont il a réellement besoin.
c) L’héritage :
L’héritage est un mécanisme de transmission des propriétés d’une classe (ses
attributs et méthodes) vers une sous classe.
d) La spécialisation/généralisation :
Le principe de généralisation,/spécialisation permet d’identifier parmi les objet
d’une classe(générique) des sous-ensemble d’objet(des classes spécialisées) ayant des
définitions spécifiques. La classe plus spécifique (appelée aussi classe fille, classe dérivée,
classe spécialisée, classe descendante…) est cohérente avec la classe plus générale (appelée
aussi classe mère, classe générale…) c’est-a-dire qu’elle contient par héritage tous les
attributs, les membres, les relations de la classe générale, et peut contenir d’autres.
e) Le polymorphisme :
Le polymorphisme représente la faculté d’une même opération de s’exécuter
différemment suivant le contexte de la classe où elle se trouve. Ainsi, une opération définie
dans une superclasse peut s’exécuter de façon différente selon la sous-classe ou elle est
héritée
F) L’agrégation :
65
Annexes
Il s’agit d’une relation entre deux classes, spécifiant que les objets d’une classe sont
des composants de l’autre classe. Une relation d’agrégation permet donc de définir des objets
composés d’autres objets. L’agrégation permet d’assembler des objets de base, afin de
construire des objets plus complexes.
Les use cases permettent de structurer les besoin des utilisateurs et les objectifs
correspondants d’un système. Ils centrent l’expression des exigences du système sur ses
utilisateurs : ils partent du principe que les objectifs du système sont tous motivés.
• diagramme de classe :
•diagramme d’objet :
Le diagramme d’objet permet de mettre en évidence des liens entre les objets. Les
objets, instances de classe, sont reliés par des liens, instance d’associations. A l’exception de la
multiplicité, qui est explicitement indiquer, le diagramme d’objets utilise les mêmes concepts
que le diagramme de classes. Ils sont essentiellement utilisés pour comprendre ou illustrer des
parties complexes d’un diagramme de classes.
•diagramme de composants :
•diagramme de déploiement :
66
Annexes
•diagramme de collaboration :
67
Annexes
Annexe2
XML (eXtensible Markup Language)
1. La syntaxe du XML
a) Un élément XML est délimité par deux balises de même nom
b) (<balise></balise>), il peut contenir du texte ou d'autres balises, cependant toute balise
ouverte doit être fermée (contrairement au HTML).
c) Les balises doivent être correctement imbriquées.
d) Les noms de balises peuvent contenir des chiffres, des lettres ou d'autres caractères.
e) Les noms ne peuvent commencer par un nombre ou un signe de ponctuation.
f) Les noms ne peuvent commencer par les lettres XML.
g) Le XML fait la différence entre majuscules et minuscules (ainsi <balise> est différente
de <BaliSe>)
h) Pour les caractères spéciaux il existe des entités prédéfinies :
< ; pour le caractère < (plus petit que)
> ; pour le caractère > (plus grand que)
& ; pour le caractère & (et commercial)
&apos ; pour le caractère ‘ (apostrophe)
" ; pour le caractère " (guillemets)
i) XML tolère les caractères accentués pour cela il faut ajouter au fichier XML l'entête
suivant : <?xml version="1.0" encoding="ISO-8859-1"?>.
j) Une balise peut contenir un ou plusieurs attributs, dont les valeurs doivent être mises
entre guillemets.
Un fichier XML respectant les règles précédentes est dit « document XML bien formé», c'est-
à-dire qu'il respecte la syntaxe de XML.
2. La DTD « Document type definition » : interne au fichier XML, ou externe, dans ce cas il
faut ajouter l'entête suivant au fichier XML,
68
Annexes
]>
<racine>
La DTD contient les règles que doit respecter le document XML. La DTD peut être
racine du fichier XML. Le code<element1>Premier
suivant représente une DTD interne :
élément</element1>
<element2>Deuxième élément</element2>
Première ligne : indique que le fichier est indépendant car il utilise une DTD interne
</racine>
« standalone= ''yes'' ».
Deuxième ligne : indique que le fichier XML à comme racine l'élément <racine>
Troisième ligne : indique que l'élément racine, contient deux éléments qui sont element1 et
element2.
Quatrième et cinquième ligne : indiquent que les deux éléments elemet1, element2
contiennent des chiffre ou des lettres.
a. Les éléments :
La définition d'un élément dans la DTD contient deux parties qui sont le nom de l'élément, et
ce qu'il peut contenir, pour indiquer le contenu d'un élément la notation est comme suit :
69
Annexes
Exemple :
b. Les Attributs :
Nom_att1 typevaleur
Nom_att2 typevaleur
….
>
Les valeurs d'un attribut peuvent être :
IDREF : La valeur de l'attribut est un symbole défini comme valeur de l'attribut ID d'un
autre élément.
Exemple :
nom CDATA
#REQUIRED
prenom CDATA
#REQUIRED
>
70
Annexes
Le langage XML étant par définition extensible, nous avons pu définir nos propres
balises avec les attributs que nous avons jugés nécessaires. Cela permet d'avoir des structures
concises et claires. De plus, on peut facilement insérer de nouvelles balises (balise
<Animation> par exemple);
Le langage XML étant devenu un standard, plusieurs technologies d'analyse et de
traitement ont été développées parmi lesquelles on citera SAX (Simple API for XML). Ces
développements rendent particulièrement aisée sa manipulation par programmes;
La structure séquentielle et hiérarchique d'un document XML est particulièrement
adaptée à la modélisation des cours qui ont exactement cette structure
Le parseur est l’élément de programmation le plus important, puisque c’est lui qui
réalise le travail d’analyse du document XML. Son rôle est de vérifier la cohérence du
document XML (en termes syntaxique et/ou par rapport à un schéma ou une DTD) et de
transmettre à l’application les informations utiles au traitement du document. Tous les
parseurs n’offrent pas la même puissance, certains étant non validant et d’autres validant. De
plus, certains supportent une API SAX ou bien DOM, qui permettent au parseur d’entrer en
communication avec l’application. Pour une application, un parseur fait partie d’une API ou
d’une bibliothèque : ce n’est pas un organe indépendant mais un bloc de traitement que l’on
peut contrôler, comme n’importe quelle méthode externe.
Le Document Objet Model est une norme du W3C. Elle spécifie un API permettent aux
programmeurs d’application d’écrire des fonctions de création, de modification et de
consultation des éléments constitutifs d’un document XML.
71
Annexes
Annexe3
Mini Key Log est un logiciel de surveillance secrète développé par bleu série. Mini
Key Log vous permet de surveiller et d'enregistrer des activités d'utilisateur de façon
inaperçues, mais aussi pour stocker ceci dans les fichiers journaux. Le processus de
surveillance est complètement invisible et facile à employer. Ce logiciel fonctionne avec
Windows XP et Windows Vista.
Exemples d’activités enregistrées par Mini Key Log : Frappes : entrées-Mot de passe, noms
de l'utilisateur, Actif, ouvert ou fermé la fenêtre. clique-souris : droit, gauche, milieu.
opérations-fichier : supprimer, renommer, ouvrir, sauvegarder, copier un fichier.
Exemple de fichier enregistré par Mini Key Log :
72
Annexes
73