pdf - 2,9 Mo - Sillages

shrubberyweakInternet και Εφαρμογές Web

21 Οκτ 2013 (πριν από 3 χρόνια και 7 μήνες)

72 εμφανίσεις

²
 
 
1
 
   
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Travail  élaboré  par
 
:            
 
                                                                                             
 
þ

Rachid  ER  RAHAOUY
 
þ

Hamza  ESSEBAA
 
þ

Mouad  BAZZI
 
þ

Sylvain  LECLERC
 
 
 
 
 
Projet  PAIR  
Wiki  SILLAGES
 
Rapport
 final  
 
22
/05/2012
 
 
Encadré  par
 
:
 
 
 
 
 
 
 
þ

Dalila  KATEB
 
þ

Michèle  TILLARD
 
þ

Nathalie  VAN  DE  WIELE
 
 
 
2
 
 
Table  de  matières
 
I.
 
Remerciements
................................
................................
................................
................................
...........
4
 
I.
 
Glossaire  et  définitions
................................
................................
................................
............................
5
 
II.
 
Introduction  générale
................................
................................
................................
..............................
6
 
III.
 
Contexte  et  objectifs  du  projet
................................
................................
................................
.............
7
 
i.
 
Contexte  du  projet
................................
................................
................................
................................
7
 
ii.
 
Objectifs  et  résultats  attendus
................................
................................
................................
.........
7
 
IV.
 
Etat  de  l’art
................................
................................
................................
................................
...................
9
 
i.
 
Web  sémantique
................................
................................
................................
................................
....
9
 
a.
 
Introduction
................................
................................
................................
................................
.............
9
 
b.
 
Historique
................................
................................
................................
................................
.................
9
 
c.
 
Premiers  éléments  d’architecture
................................
................................
................................
.
9
 
d.
 
L  ‘évolution  de  l'internet
................................
................................
................................
.................
10
 
e.
 
Architecture
................................
................................
................................
................................
..........
10
 
f.
 
Langages
................................
................................
................................
................................
.................
11
 
g.
 
Objectif  du  Web  sémantique
................................
................................
................................
.........
11
 
ii.
 
Wiki  sémantique
 
:
................................
................................
................................
..............................
12
 
a.
 
Introduction
................................
................................
................................
................................
..........
12
 
b.
 
Types    de  Wikis  sémantique
................................
................................
................................
..........
12
 
c.
 
Les  moteurs  de  wikis  sémantiques
................................
................................
............................
13
 
d.
 
Eléments  d’architecture
................................
................................
................................
..................
13
 
iii.
 
Ontologie
................................
................................
................................
................................
................
13
 
a.
 
Introduction
................................
................................
................................
................................
..........
13
 
b.
 
Structure  d'une  ontologie  OWL
................................
................................
................................
...
14
 
iv.
 
Tagging
................................
................................
................................
................................
...................
16
 
a.
 
Introduction
................................
................................
................................
................................
..........
16
 
b.
 
Nature  et  Usage  des  Tags
................................
................................
................................
................
16
 
c.
 
Exemples  de  tags
................................
................................
................................
................................
16
 
v.
 
MediaWiki
................................
................................
................................
................................
.............
18
 
a.
 
Introduction
................................
................................
................................
................................
..........
18
 
b.
 
Avantages  &  inconvénients
................................
................................
................................
............
18
 
c.
 
Notice  d’installation  du  MediaWiki
................................
................................
............................
18
 
vi.
 
Les  extensions
................................
................................
................................
................................
.....
20
 
a.
 
Définition
................................
................................
................................
................................
...............
20
 
 
3
 
b.
 
Objectif
................................
................................
................................
................................
....................
20
 
c.
 
Développement
................................
................................
................................
................................
...
20
 
d.
 
Organisation  interne
................................
................................
................................
.........................
20
 
e.
 
Automatisation
................................
................................
................................
................................
....
21
 
f.
 
Installation
................................
................................
................................
................................
............
21
 
vii.
 
Wiki  test
................................
................................
................................
................................
.................
23
 
a.
 
Caractéristiques
................................
................................
................................
................................
..
23
 
V.
 
Déroulement  du  projet
................................
................................
................................
.........................
24
 
i.
 
Organigramme  de  tâches  et  planning  prévisionnel
................................
............................
24
 
ii.
 
Organisation  des  tâches
................................
................................
................................
..................
23
 
iii.
 
Planning  prévisionnel
................................
................................
................................
......................
24
 
iv.
 
Séances  
de  travail
................................
................................
................................
...............................
25
 
v.
 
Description  des  tâches
................................
................................
................................
.....................
26
 
a.
 
Macro  tâche  A
................................
................................
................................
................................
......
26
 
b.
 
Macro  tâche  B
................................
................................
................................
................................
......
30
 
c.
 
Macro  tâche  C
................................
................................
................................
................................
.......
34
 
VI.
 
Outils
................................
................................
................................
................................
............................
37
 
i.
 
Matériel
................................
................................
................................
................................
..................
37
 
ii.
 
MediaWiki
................................
................................
................................
................................
.............
37
 
iii.
 
XAMPP
................................
................................
................................
................................
.....................
37
 
iv.
 
Le  protocole  HTTP
................................
................................
................................
.............................
37
 
v.
 
Serveur  dédié
................................
................................
................................
................................
.......
37
 
VII.
 
Développement
................................
................................
................................
................................
.......
38
 
i.
 
TagCloud
................................
................................
................................
................................
................
38
 
a.
 
Conseils  d’utilisation
................................
................................
................................
.........................
38
 
b.
 
Installation
................................
................................
................................
................................
............
38
 
c.
 
Ontologie
................................
................................
................................
................................
................
39
 
d.
 
Code:
................................
................................
................................
................................
........................
39
 
ii.
 
RatingBar
................................
................................
................................
................................
...............
41
 
VIII.
 
Difficultés  rencontrés
................................
................................
................................
...........................
42
 
i.
 
La  clarté  des  objectifs
................................
................................
................................
.......................
42
 
ii.
 
Management  du  projet
................................
................................
................................
.....................
42
 
iii.
 
MediaWiki
................................
................................
................................
................................
.............
42
 
IX.
 
Conclusion
................................
................................
................................
................................
.................
43
 
X.
 
Annexes
................................
................................
................................
................................
.......................
44
 
i.
 
Bibliographie
................................
................................
................................
................................
........
44
 
 
4
 
ii.
 
Sources
................................
................................
................................
................................
....................
44
 
 
 
I.

Remerciements
 
 
 
Nous  tenons  à  remercier  très  sincèremen
t  les  personnes  suivantes  pour  
leur  précieuse  
collaboration  à  notre  projet  pair  <<Wiki  SILLAGES>>.  
 
 
Nous  souhaitons  tout  d’abor
d  remercier  nos  encadrants  Mesd
ames  Dalila  KATEB,  
Michèle  TILLARD  et  Nathalie  VAN  DE  W
IEL
E,  qui  nous  ont  encadré
 avec  patience  durant  
la  durée  de  ce  projet  pair.  Leurs  conseils  nous  ont  été  bien  utiles,  notamment  leurs  
encouragements.
 
 
 
 
Sincères  
mercis
 :
 
 
 
Aux  membres  du  comité  Wiki  SILLAGES  d’avoir  suggéré  ce  projet  qui  a  été  très  
intéressan
t  pour  nous  et  aussi  pour  leur  accueil  très  chaleureux  dans  le  siège  du  
SILLAGES  à  Paris.  
 
 
A  Monsieur  WASSNER  et  Monsieur  GUYOT,  qui  n’ont  épargné  aucun  effort  pour  mettre  à  
notre  disposition  un  rendez
-­‐
vous  dans  le  but  de  nous  apporter  leurs  connaissances
.  
 
A  toute  l’équipe  communication  de  l’ESIEA  pour  avoir  assuré  notre  accès  au  serveur  
ainsi  que  toute  l’équipe  service  informatique.
 
 
A  Mr  Jean
-­‐
Louis  Bonnet  responsable  de  l’informatique  et  des  moyens  audiovisuels.
 
 
Membres  du  projet  pair.
 
 
 
5
 
 
II.

Glossaire  et  
définitions  
 
 
 
OWL
 
:  
Web  Ontology  Langage
 Langage  de  représentation  des  connaissances  
 
 
SMW
 
:  
Semantic  MediaWiki
 est  un  moteur  libre  de  Wiki
 
 
 
RDS
 
:  
RDF  Schema
,  permet  d
e  définir  des  vocabulaires  RDF
 
 
SAX
:  
Simple  API  for  XML
,  Une  interface  de  programmation
 XML
 
 
URI
:  
Uniform  Resource  Identifier
,  Chaîne  de  caractères  identifiant  une  ressource
 
 
W3C
:  
World  Wide  Web  Consortium
 Organisme  de  normalisation  
 
 
XML
 
:  
eXtensible  Markup  Language
 
Langage  de  balisage  générique
 
 
PHP
:  
Hypertext  Preprocessor
 
Lang
age  de  
scripts
 web  
 
 
FTP
 
:  
File  Transfer  Protocol
 
Protocole  de  Transfert  de  fichiers
 
 
RDF
 
:  
Ressource    Description    Framework
,    permet    de    présenter    des
   données    et    des  
métadonnées
 
 
Jena
 
:  Framework  pour
 le  Web  sémantique  en  Java,  Jena  
fournit
 un  environnement  
permettant  de  tr
availler  avec  RDF,  RDFS  et  OWL
 
 
Métadonnée
 
:  une      information      permettant      de      décrire    
 une      autre    information,  quel
 
qu'en  
soit  la  nature  et  le  support
 
 
Ontologie
 
:  un
 ensemble  structuré  de  savoirs.    Une  ontologie  d
éfinit    les  termes  employés    
pour  décrire  et  représe
nter  un  domaine  de  connaissance
 
 
 
Extension
 
:  
une  fonction  écrite  en  PHP
 
 
TagCloud
 
:  
Nuage  de  mots
-­‐
clés
 
 
RatingBar
 
:  
Système  d’évaluation
 
 
 
FileZilla  Client
 
:  
Logiciel  libre  de  transfert  de  fichiers  sur  
un  serveur
 
 
 
Knoodl
 &  
Wikidsmart
 
:  
Moteur  de  recherche  sémantique
 
 
 
6
 
 
III.

Introduction
 générale
 
 
 
 
Afin  d’appliquer  les  méthodologies  et  les
 
notions  que  nous  avons  acquis
 
durant  notre  
cycle  d’ingénieurs  à  l’
ESIEA
 (Ecole  Supérieure  d’Informatique,  Electronique  et  
Automatique),  nous  devons  mener  un  projet  de  recherche  et  développement  
pour  le  
Wiki  SILLAGES
 
d’une
 durée  de  5
 
mo i s
.  
Celui
-­‐
ci  
nous  a  permis
 de  nous
 initier  à  la  
rech
erche,  d’appliquer  les  connaissances  
techniques  et  pédagogiques  
acquises  durant  
 
l’
année  et  de  favorise
r  l’esprit  du  travail  en  équipe.
 
 
 
Notr
e  projet  
consiste  à  développer  et  implémenter  de  nouvelles  fonctionnalités
 dans  le  
but  d’adapter  le  contenu
 des
 ressources  proposées  sur  le  Wiki  aux  différents  profils  
d’usagers.
 
 
Nous  avons
 
tout  d’abord  commencé  par  
une  étude  bibliographique  du  web  sémantique  
et  ses
 différents
 aspects    technologique
s
 
.Ensuite
,  n
ous  avons  mis  en  œuvre  
notre  propre  
Wiki  test
 hébergé
 
sur  le  serveur  de  l’ESIEA
.  
Ce  test  va  nous  permettr
e  d’administrer  
notre  Wiki  et  d’implémenter  les  extensions  de  Tag  (
TagCloud
)  et  de  
RatingBar
 
(
Pattern
RatingBar
),  
ainsi  que  de  se  familiarise
r  avec  le
   langage
 de  programmation  
PHP.
 
 
Après  l’installation  et  la  configuration  de  notre  Wiki  test,  nous  avons  
implémenté  de
 
simple
s
 extension
s
 pour  lire  un  fichier  PDF
 a f i n  d e  c o m p r e n d r e  l e  m é c a n i s m e  d e  
f o n c t i o n n e m e n t.  E n s u i t e  n o u s  a v o n s  d é v e l o p p é  
 not
re  extension  de  
TagCloud
 
que  nous  
allons
 mettre  en  ligne  sur  le  Wiki  
test.
 
 
 
 
7
 
 
IV.

Contexte  et  objectifs  du  projet
 
i.

Contexte  du  projet
 
 
Le  
Wiki  SILLAGES
 est  un  des  deux  volets  de  l’initiative  SILLAGES  (www.SILLAGES.info)  
lancée  en  octobre  2010  par  l'Ecole  polytechnique  ParisTech,  l'ESSEC  et  ePrep  
(www.eprep.org),  aujourd’hui  développée  au  sein  de  l’association  SILLAGES.info  
nouvellement  créée  et  rassembla
nt  la  Conférence  des  grandes  écoles,  l’Ecole  
Polytechnique  ParisTech,  l’EDHEC,  ePrep,  l’ESSEC  et  UNISCIEL  (l’Université  numérique  
thématique  des  sciences  fondamentales).
 
 
Le  
Wiki  SILLAGES
 vise  à  l'édition  collaborative  d'un  dictionnaire  pluridisciplinaire  
proposant,  en  accès  libre,  des  définitions  et  de  courts  articles  pédagogiques  (de  niveaux  
L0,  L1,  L2)  adaptés  à  l’ouverture  sociale  et  internationale  de  l’accès  aux  grandes  écoles  
des  trois  filières  (économiques  et  commerciales,  littéraires  et  scientifique
s).  Il  est  
accessible  sur  les  serveurs  de  l’ESSEC,  à  l’adresse  (
http://wiki.SILLAGES.info
).
 
 
Les  acteurs  SILLAGES  directement  impliqués  dans  le  développement  de  ce  Wiki  sont  
présentés  à  la  page  (
http://www.SILLAGES.info/acteurs/acteurs.php
).  Il  s’agit  :
 
 
Ø

Des  membres  de  la  communauté  d’auteurs  SILLAGES  pour  l’édition  des  articles,
 
Ø

Des  membres  de  la  communauté  de  pratique  SILLAGES  pour  un  travail  
collaboratif  
autour  des  ressources  visant  à  mieux  adapter  celles
-­‐
ci  aux  besoins  
des  étudiants  et  pouvoir,  à  terme,  élaborer  une  offre  de  ressources  par  profil  
d’usager.
 
 
L’administratrice  du  
Wiki  SILLAGES
 est  Michèle  TILLARD,  professeure  de  littérature,  de  
latin  et  de  
grec  en  CPGE  au  Lycée  Montesquieu,  au  Mans,  membre  de  l’équipe  projet  
SILLAGES.  La  personne  chargée  de  l’implémentation  des  développements  informatiques  
du  Wiki  à  l’ESSEC  est  Benjamin  SIX,  également  membre  de  l’équipe  projet  SILLAGES.  
 
 
L’outil  mis  en  plac
e  est  le  logiciel  libre  Semantic  
MediaWiki
 
(http://semantic
-­‐
mediawiki.org/wiki/Semantic_MediaWiki).
 
ii.

Objectifs  et  résultats  attendus  
 
 
L’implémentation  des  techniques  qui  permettent    d’adapter  les  ressources  
proposées  sur  le  Wiki  aux  différents  profils  
d’usagers.
 
 
Ø

La  mise  en  œuvre  d’une  articulation  entre  un  squelette  de  cours,  unique,  et  ses  
différentes  composantes,  multiples,  adaptées  aux  différents  profils  d’usagers,  tant  
en  terme  d’ouverture  sociale  que  d’ouverture  internationale.
 
 
Le  développement  d
es  services  pour  bâtir    une  offre  par  profil  d’usager  :
 
 
 
8
 
Ø

Repérer  les  ressources  favorites  de  tel  ou  tel  type  d’usager  pour  faire  émerger  
une  offre  de  ressources  adaptée  par  type  d’usager,  tant  en  terme  d’ouverture  
sociale  que  d’ouverture  internationale.
 
 
 
9
 
 
V.

Etat  de  l’art
 
 
i.

Web  sémantique
 
 
a.

Introduction
 
 
Etymologiquement  sémantique  vient  du  grec  ancien,  qui  veut  dire  donner  du  sens.  
L’idée  du  Web  sémantique  est  de  faire  comprendre  le  langage  humain,  dit  l
angage  
naturel,  aux  ordinateurs
,  il  fait  aussi  
référence  
à  la  vision  du  Web  du  futur  comme  un
 
vaste  espace  d’échange  de  ressources  supportant  la  collaboration  entre  humains  et
 
machines  en  vue  d’exploiter  plus  efficacement  de  grands  volumes  d’informations  et  de  
services  variés  
disponibles  sur  le  Web  .
 
b.

Historique
 
 
Le  Web  sémantique  a  été  créé  par  
Tim  Berners  
au  début  des  années  1990,    sa  principale  
fonction  était  de  partager  l’information  sous
 forme  de  pages  écrite  en  HTML  qu’on  peut  
consultées  par  un  navigateur  Web.  En  1988,  grâce  à  l’innovation  de  XML    qui    a  per
mis    
une
 excellente  
structuration  des  connaissances  et  
un  
réel  partage.
 
 
La  Web  
classique    
1989
-­‐
1994
 
 
ü

Le  partage  des  documents  sur  un  réseau  de  machines  
 
ü

Premier  navigateur  Web  graphique
 
ü

Technologie
 
:  
HTML,  
TCP/IP
,  URL
 
 
Le  
Web  sémantique  
1994
-­‐
2001
 
ü

La  mise  
en  relation  de  documents  par  des  liens
 
ü

Technologie
 
:  XML,  XSL,  RDF
 
 
Le  Web  de  données  
2001
-­‐
2009
 
ü

Les  fichiers  sont  manipulés  par  ordinateur
 
ü

Technologie
 
:  XML,  XSL,  RDFS,  OWL,  GRDDL  SPARQ
 
 
c.

Premiers  éléments  d’architecture
 
 
Le  web  sémantique  permet  
 de  faire  une  recherche
 intelligente
 sur  le  web
 grâce  à
 
des  
supers  ordinateurs  (capables  de  comprendre  les  données)  doté  d’un  langage  
de  
recherche
 sur  le  Web
,  qui  
a  rendu  
son  contenu  intelligible  par  des  différentes  
applications.  
 
Le  mot
 «  sémantique  »  converge  vers  le  langage  humain,  
car  il  hérite  de  ce  dernier  dans  
tout  ce  qui  concerne  la  
structuration  syntaxique  et  grammaticale
 et
 la  création  de  
p h r a s e s  e t  d e s  é l é me n t s  c o mp l e x e s
.
 
 
L e  We b  s é ma n t i q u e  n e  r e mp l a c e  p a s  l e  We b  a c t u e l,  i l  j o u
e  plutôt  le  rôle  d'une  brique  
supplémentaire  permettant  de  structurer  l'information  contenue  sur  le  Web,
 rendant  
e x pl oi t a bl e  a ux  ut i l i s a t e ur s  de s  mi l l i a r ds  de  doc ume nt s  di s poni bl e s  s ur  l e  We b.  S on  but  
 
10
 
lié  à  la  recherche  de  l'information:  c'est  de  faire  en  
sorte  que  l'internaute  trouve  plus  
facilement  et  plus  rapidement  l'information  qu'il  recherche.
 
 
d.

L  ‘évolution  de  l'internet
 
 
a.

Internet  (~1970)
 


Réseau  de  machines  identifiées,  connectées  et  adressables
 
(Correspond  en  gros  à  l'infrastructure  des  bibliothèques
 et  rayons)
 
b.

Web  1.0  (~1990)
 


Réseau  de  ressources  identifiées,  connectées  et  adressables
 
(Correspond  en  gros  au  corp
us  documentaire)
 
c.

Web  sémantique  (~2005)
 


Réseau  de  concepts  et  entités  identifiées,  connectées  et  adressables
 
(Matérialisation  du  vocabulaire  
sous  forme  de  ressources)
 
 
e.

Architecture  
 
 
Le  Web  Sémantique  (WS)  nécessite  :
 
Ø

Une  
architecture  partagée  
par  tous  pour  échanger  des  ressources  sur  Internet
 
Ø

Des  
standards  
pour  :
 
ü

Les  
ontologies  
et  
mécanismes  d’inférence  
associés
 
ü

La  
sémantique  
explicite  des  
ressources  
ou  
métadonnées  sémantiques  
liées  à  
des  ontologies
 
ü

Le  
format  
des  
ressources  
ou  
documents
 
ü

L’
adressage  
des  
ressources  
ou  
documents
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Architecture  du  Web  Sémantique  (
W3C
)
 
11
 
 
f.

Langages  
 
 
La  plupart  des  langages  utilisés  dans  le  contexte  
du  Web  Sémantique  reposent  sur  XML  
ou  utilisent  XML  comme  syntaxe.
 
Les  principaux  langages  sont
 
:  RDF(S),  
OWL
,  
SPARQL
,  RDFa  et  
RIF
.
 
 
g.

Objectif  du  Web  sémantique
 
 
Le  Web  sémantique  a  pour  objectif  le  partage  de  connaissances  contenues  dans  des  silos  
d'inform
ations,  appelés  aussi  bases  de  données,  Rendre  explicite  le  contenu  sémantique  
des  ressources  dans  le  Web  (documents,  pages  Web,  services,  etc.),  modéliser  les  
métadonnées  des  documents  et  de  relier  entre  elles  pour  créer  du  sens,  tout  en  
permettant  l'inté
gration  de  différents  contenus,  applications  et  systèmes.
 
Les  machines  et  les  agents  logiciels  pourraient  “comprendre”  les  contenus  décrits  dans  
les  ressources  et  faciliter  les  tâches  de  traitement  des  informations  de  façon  plus  
automatique  et  plus  efficac
e  ,  alors  que  les  données  continues  dans  une  base  de  données  
classique  sont  dites  non  structurées  vis
-­‐
à
-­‐
vis  d'autres  bases  de  données  s'il  n'existe  
aucune  grammaire  commune  entre  elles.  
 
 
Exemple  d’une  recherche  sémantique  :
 
 
Dans  un  système  d’information  qui  se  contente  de  travailler  de  façon  textuelle,  la  
recherche  par  mots  clés,  par  exemple  «
 
Hugo
 
»  et  «
 
Livre
 
»,  se  heurte  d’une  part  au  bruit,  
d’autre  part  au  silence.  Au  bruit  car  le  système  ne  saura  pas  faire  la  différence  
entre  le  
nom  de  famille
 
«
Hugo
 
»,  le  prénom  «
 
Hugo
 
»  ou  le  nom  de  rue  «
 
Hugo
 
».  Au  silence  car  le  
système,  s’il  rencontre  le  terme  «
 
Roman
 
»,  ne  saura  pas  qu’il  est  pertinent  pour  votre  
requête  car  il  cherche  le  mot  «
 
Livre
 
».
 
L’introduction  d’une  ontologie
 informatique  (une  
ontologie  définit  et  organise  de  façon  hiérarchique  des  concepts  et  des  relations  entre  
ces  concepts)  dans  un  système  d’information  permet  de  minimiser  ces  difficultés  et  
améliore  la  précision  de  la  recherche  d’information.  
 
Supposant  ma
intenant  que  nous  voulions  distinguer  parmi  les  grands  scientifiques  
référencés  sur  ce  wiki  ceux  qui  sont  mathématiciens  de  ceux  qui  sont  physiciens.  La  
solution  classique  (non  sémantique)  consisterait  à  créer  deux  sous
-­‐
espaces  (un  pour  les  
physiciens  et  u
n  pour  les  mathématiciens)  et  dans  le  cas  du  grand  scientifique  à  la  fois  
physicien  et  mathématicien,  il  faudrait  recopier  la  page  le  concernant  dans  chacun  des  
sous
-­‐
espaces.  Dans  un  système  sémantique  le  problème  ne  se  pose  pas,  ou  à  peine,  
puisqu’il  suff
it  de  «
 
tagguer
 
»  la  page  du  grand  scientifique  avec  les  ‘tags’  «
 
physicien
 
»  et  
«
 
mathématicien
 
»        
 
 
 
 
 
 
12
 
 
ii.

Wiki  sémantique
 
:
 
a.

Introduction
 
Un
 
Wiki  Sémantique
 
est  un
 
Wiki
 
doté  de  
fonctionnalités  permettant  d'expliciter  les  
relations  entre  les  articles  par  l'ajout  de
 
métadonnées
.  Il  utilise  pour  cela  une  syntaxe  de  
balisage  compréhensibl
e  par  des  traitements  automatisés.
 
Les  Wikis  traditionnels  reposent  généralement  sur  un  ensemble  de  pages  éditables,  
organisées  en  catégories  et  reliées  par  des  liens  hypertextes.  Ces  systèmes  se  
caractérisent  par  leur  simplicité  d’utilisation  et  leur  inte
ractivité.  Les  Wikis  sont  créés  et  
maintenus  grâce  à  des  systèmes  de  gestion  de  contenus,  les  moteurs  de  Wiki.  Ceux
-­‐
ci  
proposent  un  format  de  données  spécifique,  les  
Wikitexts
,  pour  permettre  la  
structuration,  la  mise  en  pages  et  les  liens  entre  les  articles.  Toutefois,  une  limite  de  
l’exploitation  des  Wikis  s’illustre  par  le  questionnement  des  données  contenues  dans  ces  
pages.  La  recherche  se  limite  généralement  à  de  la  reconn
aissance  de  chaînes  de  
caractères,  sans  prendre  en  compte  le  sens  des  termes.  
 
 
b.

T
ypes    de  Wikis  sémantique
 
 
 
Beaucoup  de  Wikis  sémantiques  sont  actuellement  développés  et  nous  pouvons  
distinguer  les  approches  considérant  
l'utilisation  des  ontologies  pour  d
es  Wikis  et  
l'utilisation  des  Wikis  pour  des  ontologies
 ;  très  peu  de  moteurs  fusionnent  
actuellement  les  deux  approches.
 
 
L’utilisation  des  ontologies  pour  des  Wikis
 
:  on  prend  une  ontologie,  on  la  met  dans  
un  Wiki  pour  annoter  le  contenu
.
 
On  fait  une  
distinction  claire  entre  le  Wiki  et  l’ontologie.  On  va  pouvoir  typer  les  
pages  avec  ce  qui  apparaît  dans  l’ontologie.  L’interface  pour  éditer  le  contenu  textuel  
est  séparée  de  celui  pour  éditer  les  métadonnées.
 
 
-­‐
Exemple
 
:
 
Semantic  MediaWiki  :  extension  de
 MediaWiki,  possibilité  de  mettre  une  annotation  
dans  le  texte  
(
créer  des  concepts  et  des  liens  typés),  possibilité  de  faire  des  requêtes  qui  
exploitent  les  prédicats  (annotations)
.
 Les  annotations  sont  lisibles.
 
 
L’utilisation  des  Wikis  pour  des  ontologie
s:
 pour  la  faire  émerger.  Les  pages  sont  un  
élément  d’une  ontologie  (individus)  et  les  liens  sont  des  propriétés.  On  ne  charge  pas  
une  ontologie,  c’est  la  création  des  pages  qui  entraînent  la  création  de  l’ontologie.  Les  
annotations  sont  intégrés  dans  le  t
exte,  on  n’a  pas  d’interfaces  séparées,  et  on  
n’annote  
qu’une  page  et  non  ses  parties.
 
-­‐
Exemple
 
:
 
SweetWiki  :  Il  nous  permet  de  tagguer  des  pages  (social  tagging),  les  tags  générant  u
ne  
folksonomie;  nous  permettons
 aussi  l'utilisation  d'ontologies  externes.  SweetWiki  
p a r t a g e  b e a u c o u p  d e  d i s p o s i t i f s  c o m m e  l a  c o n s t r u c t i o n  d'u n e  o n t o l o g i e  p a r  l'u s a g e,  
l'i n c l u s i o n  d e  r e q u ê t e s  d a n s  l e s  p a g e s,  l'é d i t i o n  d e s  m é t a d o n n é e s  e t  d u  c o n t e n u  d e  l a  
p a g e  d a n s  l a  m ê m e  i n t e r f a c e.
 
 
13
 
 
c.

Les
 moteurs  de  wikis  sémantiques
 
 
 
Le  
Knoodl
   et  
Wikidsmart
 sont  des  exemples  commerciaux.  Knoodl  se  présente  comme  
un  outil  de  développement  de  bases  de  connaissances.
 
L’ idée  de  communités  est  mise  en  avant  :  chacune  d’ entre  elles  dispose  de  son  propre  
wiki,
 intégrant  son  vocabulaire  spécifique.  Pour  sa  part,  Wikidsmart  entre  dans  le  cadre  
d’une  application  Web  sémantique  plus  lourde  dont  le  but  est  de  proposer  des  services  
pour  la  gestion  commerciale  et  humaine  des  entreprises.  Dans  les  deux  cas,  il  semble  
q
ue  les  fonctions  les  plus  intéressantes  soient  payantes,  et  les  sociétés  restent  discrètes  
sur  les  moyens  mis  en  œuvre.
 
 
d.

Eléments  d’architecture
 
 
 
L’objet  d’annotations  peut  être  une  autre  page  Wiki,  une  ontologie  chargée,  une  
propriété,  …  Si  les  annotatio
ns  sont  dans  le  texte,  il  faut  pouvoir  les  extraire.  Stockage  :  
texte  +  triplets.  On  a  un  RDF  
store  engine
 pour  stocker  les  triplets  (Jena,  SPARQL  
requêtes,  raisonnement,  …)  ou  on  étend  la  base  de  texte  pour  stocker  les  triplets.  La  
gestion  des  annotations
 nécessite  des  ajouts  syntaxiques  mais  c’est  sauvegarder  comme  
du  texte  classique,  sauf  si  c’est  externe  car  dans  ce  cas,  c’est  l’interface  qui  permet  de  
créer  ou  de  supprimer.  On  peut  avoir  un  moteur  de  recherche  dédié  qui  va  avec  le  
stockage  des  triplets
 ou  on  a  des  requêtes  dans  le  texte.  Quand  on  sauvegarde,  on  extrait  
les  métadonnées  et  elles  sont  stockées  avec  les  triplets.
 
Les  annotations  sont  embarquées  dans  le  texte  pour  définir  une  structure  formelle.  Cela  
permet  d’ajouter  des  propriétés  (liens  ty
pés  vers  d’autres  pages,  propriétés  avec  une  
valeur  élémentaire),  en  utilisant  des  requêtes  via  une  interface  (évaluées  lors  de  l’accès  
à  la  page).
 
iii.

Ontologie
 
a.

Introduction
 
 
A  l'origine  domaine  philosophique  de  la  "science  de  l'être  en  tant  qu'être",
 doit  son  nom  
au  terme  «  ontologie  »,  un  mot  emprunté  à  la  philosophie  qui,  s'il  est  d'origine  grecque,  
ne  fut  manifestement  créé  qu'au  XVIIe  siècle.  
 Une  ontologie  est,  selon  l'entendement  du  
Web  sémantique,  un  ensemble  structuré  de  savoirs  qui  définit  le
s  termes  employés  pour  
décrire  et  représenter  un  domaine  de  connaissance.  
L'ontologie  prend  un  tout  autre  
sens  en  informatique,  où  le  terme  désigne  un  ensemble  structuré  de  savoirs  dans  un  
domaine  de  connaissance  particulier  qui  
sont  employées  dans  l'
intelligence  artificielle
,  
le
 
Web  sémantique
,  le
 
génie  logiciel
,  l'
informatique  biomédicale
 
ou  encore  l'
architecture  
de  l'information
 .  
 
On  distingue  généralement  deux  entités  globales  au  sein  d'une  ontologie.  La  première,  à  
objectif  terminologique,  définit  la  nature  des  éléments  qui  composent
 le  domaine  de  
l'ontologie  en  question,  un  peu  comme  la  définition  d'une  classe  en  programmation  
orientée  objet  définit  la  nature  des  objets  que  l'on  va  manipuler  par  la  suite.  La  seconde  
partie  d'une  ontologie  explicite  les  relations  entre  plusieurs  insta
nces  de  ces  classes  
définies  dans  la  partie  terminologique.
 
 
 
14
 
Ainsi,  au  sein  d'une  ontologie,  les  concepts  sont  définis  les  uns  par  rapport  aux  autres,  ce  
qui  autorise  un  raisonnement  et  une  manipulation  de  ces  connaissances.
 
 
b.

Structure  d'une  ontologie  OWL
 
 
Cette  partie  indique  les  principaux  éléments  constituant  une  ontologie  OWL.  Avant  de  
poursuivre,  il  est  bien  nécessaire  de  comprendre  qu'OWL  n'a  pas  été  conçu  dans  un  
esprit  fermé  permettant  de  borner  les  frontières  d'une  ontologie
.
 
Au  contraire,  la  
conception  d'OWL  a  pris  en  compte  la  nature  distribuée  du  Web  
sémantique  et,  de  ce  fait,  a  intégré  la  possibilité  d'étendre  des  ontologies  existantes,  ou  
d'employer  diverses  ontologies  existantes  pour  compléter  la  définition  d'une  nouvelle  
ontologie.
 
Afin  
de  pouvoir  employer  des  termes  dans  une  ontologie,  il  est  nécessaire  d'indiquer  
avec  précision  de  quels  vocabulaires  ces  termes  proviennent.  C'est  la  raison  pour  
laquelle,  comme  tout  autre  document  XML,  une  ontologie  commence  par  une  déclaration  
d'espace  d
e  nom  contenue  dans  une  balise  rdf:RDF.
 
Supposons  que  nous  souhaitons  écrire  une  ontologie  sur  une  population  de  personnes  
ou,  d'une  manière  plus  générale,  sur  l'humanité.    Voici  la  déclaration  d'espace  de  nom
s
 
qui  pourrait  être  employée:
 
<rdf:RDF
 
 
xmlns  =
 "http://domain.tld/path/humanite#"
 
 
xmlns:humanite=  "http://domain.tld/path/humanite#"
 
 
xmlns:base  =  "http://domain.tld/path/humanite#"
 
 
xmlns:vivant  =  "http://otherdomain.tld/otherpath/vivant#"
 
 
xmlns:owl  =  "http://www.w3.org/2002/07/owl#"
 
 
xmlns:rdf  =  "
http://www.w3.org/1999/02/22
-­‐
rdf
-­‐
syntax
-­‐
ns#"
 
 
xmlns:rdfs  =  "http://www.w3.org/2000/01/rdf
-­‐
schema#"
 
 
xmlns:xsd  =  "http://www.w3.org/2001/XMLSchema#">
 
 
Les  deux  premières  déclarations  identifient  l'espace  de  nommage  propre  à  l'ontologie  
que  nous  sommes  en  
train  d'écrire.  La  première  déclaration  d'espace  de  nom  indique  à  
quelle  ontologie  se  rapporter  en  cas  d'utilisation  de  noms  sans  préfixe  dans  la  suite  de  
l'ontologie.  La  troisième  déclaration  identifie  l'URI  de  base  de  l'ontologie  courante.
 
La  quatrième  d
éclaration  signifie  simplement  que,  au  cours  de  la  rédaction  de  l'ontologie  
humanité
,  on  va  employer  des  concepts  développés  dans  une  ontologie  
vivant
,  qui  
décrit  ce  qu'est  un  être  vivant.
 
Les  quatre  dernières  déclarations  introduisent  le  vocabulaire  d'OWL
 et  les  objets  définis  
dans  l'espace  de  nommage  de  RDF,  du  schéma  RDF  et  des  types  de  données  du  Schéma  
XML.
 
Afin  de  simplifier  l'écriture  des  URI  dans  la  déclaration  d'espace  de  nom
s
 et,  surtout,  
dans  les  valeurs  des  attributs  de  l'ontologie,  il  est  conse
illé  de  définir  des  abréviations  au  
moyen  d'entités  de  type  de  document  :
 
 
<!DOCTYPE  rdf:RDF  [
 
 
<!ENTITY  humanite  "http://domain.tld/path/humanite#"  >
 
 
<!ENTITY  vivant  "http://otherdomain.tld/otherpath/vivant#"  >
 
]>
 
 
 
Ainsi,  la  déclaration  d'espace  de  nom
s
 initiale  devient  :
 
 
15
 
<rdf:RDF
 
 
xmlns  =  "&humanite;"
 
 
xmlns:humanite=  "&humanite;"
 
 
xmlns:base  =  "&humanite;"
 
 
xmlns:vivant  =  "&vivant;"
 
 
xmlns:owl  =  "http://www.w3.org/2002/07/owl#"
 
 
xmlns:rdf  =  "http://www.w3.org/1999/02/22
-­‐
rdf
-­‐
syntax
-­‐
ns#"
 
 
xmlns:rdfs  =  "h
ttp://www.w3.org/2000/01/rdf
-­‐
schema#"
 
 
xmlns:xsd  =  "http://www.w3.org/2001/XMLSchema#">
 
 
 
16
 
 
iv.

Tagging
 
 
a.

Introduction
 
 
Les  tags  constituent  aujourd'hui  un  dispositif  clef  du  web  social  ainsi  qu'un  nouveau
 
support  d'expression  permettant  de  remplir  bien  des  offices  :  sélectionner,  catégoriser  
ou  classer  des  contenus,  commenter,  voter,  partager,  identifier,  etc.  Le  tagging  social  et  
les  résultats  qu’il  engendre  (les  folksonomies),  peuvent  être  perçus  comme  de
s  
opportunités  nouvelles  à  même  d'impliquer  les  utilisateurs  dans  une  nouvelle  forme  de  
commerce  
vis
-­‐
à
-­‐
vis
 des  contenu
s  du  Web,  libérés
 des  contraintes  de  l’indexation  
traditionnelle.
 
Les  tags  sont  habituellement  attribués  de  façon  informelle  et  personnell
e  par  les  
utilisateurs/internautes  à  leurs  propres  ressources.  Le  système  de  tagging  ne  fait  pas  
partie  d'un  schéma  de  contrôle  formellement  défini.    Ici,  il  est  indispensable  
de  
prend
re  
le  tag
 comme  une  simple  chaîne  de  caractères,  exprimés  en  langage  nat
urel.
 
b.

Nature  et  Usage  des  Tags
 
 
L’essence  du  tag  telle  que  la  conçoit  l’ontologie  NiceT
ag  consiste  à  donner  les  moyens  
d’enregistrer  la  trace  d’actions  associant  une  ressource
 avec  un  signe  grâce  à  un  triplet
 
RDF.
 
Dans  l’optique  d’intégrer  à  nos  spécificat
ions  les  fonctions  qu’est  susceptible  de  remplir  
un  tag,  nous  avons  créé  plusieurs  sous
-­‐
propriétés  qui  couvrent  les  divers  types  de  
relations  qu’entretiennent  le  tag  et  la  ressource  taguée.  Cet  ensemble  est  à  son  tour  
conçu  à  la  manière  d’une  instance  de  l
a  classe  TagAction  et  peut  en  conséquence  être  
enrichi  par  toutes  les  propriétés  qui  lui  sont  associées,  au  nombre  desquelles  figure  celle  
qui  spécifie  l’utilisateur  qui  a  accompli  l’action  de  taguer,  sa  date  ou  son  container.  Qui  
plus  est,  il  est  possible
 de  définir  le  genre
 auquel  appartient  l’action  de  T
agging  
(automatique,  individuel,  collectif…)  en  choisissant  l’une  des  sous
-­‐
classes  de  TagAction  
définies  à  cet  effet.  Ce  faisant,  et  en  vertu  du  recours  à  la  déclaration  de  source  pour  la  
syntaxe  RDF/XML,
 qui  a
ssigne  une  URI  à  une  action  de  T
agging,  nous  obtenons  une  
grande  expressivité  pour  représenter  les  tags  sous  une  multitude  de  facettes  tout  en  
évitant  le  fardeau  de  la  réification.  Tant  les  graphes  nommés  que  la  déclaration  de  
source  pour  la  syntaxe  
RDF/XML  fournissent  une  plus
-­‐
value  notable  au  prix  de  
modifications  modestes  et  rétro
-­‐
compatibles  avec  les  recommandations  officielles  
relatives  au  Web  Sémantique.
 
c.

Exemples  de  tags
 
 
La  flexibilité  entourant  le  choix  des  signes  et  des  ressour
ces  permet  de  r
écupérer,  en  une  
seule  requête,  tous  les  actes  de  tagging  exprimés  avec  l’ont
ologie,  quel  que  soit  le  modèle  
sollicité  ou  les  ressource
s
 taguées  elles
-­‐
mê me s.  A  t i t r e
 d ’ e x e mp l e,  i l  e s t  p o s s i b l e,  e n  
u t i l i s a n t  l e  mo t e u r  RDF  C ORE S E 6,  d ’ é c r i r e  l e s  r e q u ê t e s  S P AR
QL  présentées  dans  le  code
 
1.3.  La  ligne  2  témoigne  de  ce  que  par  le  biais  du  mécanisme  d’inférence  de  CORESE,  
nous  sommes  en  mesure  de  récupérer  tous  les  types  de  relations  de  tagging  exprimées  à  
l’aide  de  nicetag:hasSign  ou  de  ses  sous
-­‐
propriétés.  La  mêm
e  chose  vaut  pour  tous  les  
types  subordonnés  de  la  classe  nicetag:TagAction  (ligne  7).  La  ligne  3  montre,  avec  
 
17
 
l’assertion  OPTIONAL,  que  notre  modèle  est  capable  de  récupérer  des  ressources  
utilisées  pour  taguer,
 
fussent
-­‐
elles  typées  ou  non.
 
 
Code  1.3
.  
Requête  sur  des  actions  de  tagging  réparties  selon  plusieurs  modèles.
 
 
1  SELECT  *  WHERE  {
 
2  GRAPH  ?  tagaction  {?resource  nicetag:hasSign  ?sign  }
 
3  OPTIONAL  {
 
4  ?sign  rdf:type  ?signtype  .
 
5  ?sign  rdfs:label  ?signlabel  .}
 
6  ?resource  rdf:type  ?resourcetype  .
 
7  ?tagaction  rdf:type  nicetag:TagAction  }
 
 
Code  1.4.  Requête  sur  des  actions  de  tagging  liées  à  différents  comptes  
d’utilisateurs.
 
 
1  SELECT  *  WHERE  {
 
2  GRAPH  ?  tagaction  {?res  nicetag:hasSign  ?sign  }
 
3  ?tagaction  sioc:has_creator  ?user  .
 
4  <http://ns.inr
ia.fr/fabien.gandon/foaf#me>  foaf:holdsAccount  ?user  .
 
5  ?tagaction  rdf:type  
nicetag:TagAction}
 
 
Ces  exemples  présentent  également  une  distinction  entre  créateurs  et  containers  des  
actions  de  tagging.  Les  utilisateurs  sont  modélisés  en  tant  qu’instances  de
 la  class
e
 
s i o c:U s e r.  E n  a j o u t a n t  d e s  t r i p l e t s  p o u r  c o n n e c t e r  l e s  d i f f é r e n t s  c o mp t e s  d ’ u n e  p e r s o n n e  
( mo d é l i s é e  à  l ’ a i d e  d e  f o a f:P e r s o n )  a v e c  l a  p r o p r i é t é  f o a f:h o l d s A c c o u n t,  i l  d e v i e n t  
possible
 de  rapporter  tous  les  actes  de  tagging  d’une  personne  donnée  gr
âce  à  la  requête  
présentée  dans  le  code  1.4.  Le  container  d’une  action  de  tagging  est  modélisé  au  moyen  
de  la  classe  sioc:Container  qui  permet  de  poser  des  requêtes  de  type  «  récupérer  tous  les  
tags  provenant  de  delicious.com  et  seulement  ces  derniers  »  (c
f.  code  1.5).
 
 
Code  1.5.  Requêtes  visant  à  récupérer  les  actions  de  tagging  de  delicious.com
 
 
1  SELECT  *  WHERE  {
 
2  GRAPH  ?tagaction  {?resource  nicetag:hasSign  ?sign  }
 
6  http://www
-­‐
sop.inria.fr/edelweiss/wiki/wakka.php?wiki=Corese
 
hal
-­‐
00452771,  version  1  
-­‐
 
3  Feb  2010
 
A.  Monnin  et  al.
 
3  ?resource  rdf:type  ?resourcetype  .
 
4  ?tagaction  rdf:type  nicetag:TagAction  .
 
5  ?tagaction  sioc:has_container  <http://delicious.com  >  }
 
 
 
18
 
 
v.

MediaWiki
 
a.

Introduction
 

MediaWiki
 
est  un  moteur  de  Wiki  qui  est  un  logiciel  libre  (open  
source)  développé
 au  
début
 pour
 
Wikipédia
 
et  utilisé  aujourd'hui  par  de  nombreuses  entreprises  et  
association  dans  le  monde  entier  ainsi  que  par  d'autres  sites  internet  reposant  su
r  la  
technologie  Wiki.  
 
Ce  logiciel  est  écrit  entièrement  en
 
PHP
,  et  peut  aussi  marcher  avec  le
 
système  de  
gestion  de  base  de  données
 
MySQL
 
,  MediaWiki  
a
 été  développé  par  plusieurs  
développeurs  et  il  a  été  lancé  en  2003,  le  succès  rencontré  par  ce  logiciel  était  
spectaculaire  parce  que  plusieurs  organisation
s
 l'ont  très  vite  adopté  pour  éviter  les  
trafics  causés  par  les  sites  Web.
 
MediaWiki  s
'est  rapideme
nt  différenciés
 d
es  
autres  moteur
s
 de  Wiki  qui  existe
nt,  soit
 
avant
,  soit
 après  ce  dernier,  car  il  permet  notamment  à  ses  utilisateurs  de  créer  des  
catégories  dans  le  Wiki,  un  téléchargement  gratuit  du  logiciel  sans  aucun  co
û
t,  et  aussi  
ce  qui  intéresse  la
 plupart  des  utilisateurs
,
 c'est  que  l'interface  est  traduite  en  plusieurs  
langues  du  monde  entier.  
 
 
b.

Avantages  &  i
nconvénients  
 
Les  avantages
 
ü

Création  
d'un  Wiki  rapide  et  facile
 
ü

C'est  
gratuit
 
ü

L’interface  
est  traduite  en  français
 
ü

Tout  est  hébergé  sur  le  
Web
 
ü

L'interface  est  modifiable
 
ü

C'est  
directement  hébergé  par  la  société  Wikia
 
Les  inconvénients
 
v

impossibilité  de  faire  un  Wiki  privé
 
v

la  totalité  du  contenu  publié  doit  être  sous  licence  libre
 
 
c.

Notice  d’installation  du  MediaWiki
 
 
1.  Téléchargement
 et  installation
 
-­‐
installer  
XAMPP
 
http://sourceforge.net/projects/xampp/files/XAMPP%20Windows/1.7.7/xampp
-­‐
win32
-­‐
1.7.7
-­‐
usb
-­‐
lite.exe/download
 
 
-­‐
MediaWiki  à  extraire  dans  
XAMPP
/
htdocs
 
http://download.wikimedia.org/mediawiki/1.18/mediawiki
-­‐
1.18.2.tar.gz
 
 
-­‐
Se
manti
c
 MediaWiki  à  extraire  dans  
XAMPP
/htdocs/MediaWiki/extensions
 
http://sourceforge.net/projects/semediawiki/files/semediawiki/Semantic%20MediaW
iki%201.7.1/SemanticMediaWiki1.7.1.zip/download
 
 
19
 
 
 
2.  Lancement
 de
 
XAMPP
 (
Apache
 puis  
MySQL
)
 
 
3
 
.C
réation  du  
MediaWiki  sur  la  page:
 
l
ocalhost/Media
Wiki
/mw
-­‐
config/index.php
 
 
À
 la  fin
 des  différentes  étapes  demandées
,  on  
obtient
 un  fichier  LocalSettings.php
 
 
4.  Dans
 le  LocalSettings.php,  on  rajoute    les  3  lignes  suivantes:
 
 
require_once("$IP/extensions/Validator/Validator.php");
 
include_once("$IP/extensions/SemanticMediaWiki/SemanticMediaWiki.php");
 
enableSemantics('localhost');
 
 
Après  on  place  le  fichier  dans  
XAMPP
/htdocs/MediaWiki
 
 
Le  Wiki  est  alors  disponible  à
 l'adresse  localhost/MediaWiki/index.php
 
 
5.  I
nstallation  de  
Se
manti
c
 MediaWiki,  sur  la  page:
 
 
localhost/MediaWiki/index.php/Spécial:SMWAdmin
 
 
-­‐
"initialiser  ou  mettre  à  niveau  les  tables
"
 
-­‐
"commencer  la  mise  à  jour  de
s  données"
 
 
6.  V
érification  sur  la  
page:
 
 
localhost/MediaWiki/index.php/Spécial:Version
 
Les  extensions
 
Semantic  MediaWiki  
et  
Validator  sont  normalement  visibles  sur  cette  
page.
 
 
 
 
20
 
 
vi.

Les  extensions
 
a.

Définition
 
 
 
Les
 
extensions
 
sont  des  
lignes  de  code  écrites  en  
PHP
 
qui  permettent  d'ajouter  ou  
d’améliorer  les  fonctionnalités  du  MediaWiki.
 
b.

Objectif
 
 
Voici  nos  principaux  objectifs
 
:
 
 
ü

Configurer  les  fichiers  internes  du  
MediaWiki
 
ü

Ajouter  deux  nouvelles  fonctionnalités  
 
«
 
Ra
ting  
et
 Tag
 
»
 
c.

Développement  
 
 
Le  cycle  de  développement  d’
une  extension  est  un  processus    de  plusieurs  phases  et  
voici  le  cycle  de  développement  de  nos  extensions.
 
Ø

An
alyse  des  besoins  et  faisabilité  
 
Ø

Spécifications
 
Ø

Conception
 
Ø

Test  et  validation  
 
Ø

Codage
 
Ø

Configuration  et  installation
 
Ø

Exécution
 
d.

Organisation  interne  
 
L'organisation  interne  d'une  extension  est  placée  dans  le  dossier  
h
tdocs
.
 
Voici  le  chemin  exact  de  notre  
dossier  d’extension.
 
C:
\
XAMPP
\
htdocs
\
mediawiki
\
mediawiki
-­‐
1.19.0rc1
\
mediawiki
\
extensions
 
Généralement  le  dossier  d’une  extension  est  composé  de  trois  
fichier
s  correspondant
 
aux  trois  parties
 
:  configuration,  exécution  et  internationalisation.
 
Ø

myextension/myextension.php
 
 
Contient
 
les  instructions
 de  configuration.  
 
Ø

myextension/myextension.body.php
 
 
Contient
 le  code  d'exécution  pour  une  extension  simple.  Pour  des  extensions  plus  
complexes,  il  peut  y  avoir  plusieurs  fichiers  et  être  placé  dans  un  sous  dossier  
nommé  
myextension
/
includes
.
 
 
21
 
 
Ø

myextension/myextension.i18n.php
 
 
Contient
 l'internationalisation  de  l'e
xtension
 
e.

Automatisation  
 
Si  nous  voulons  utiliser  des  classes  pour  nos  extensions,  MediaWiki  contient  déjà  un  
mécanisme  simplifié  pour  charger  automatiquement  les    sources.  Dans  la  plupart  des  
cas,  cela  va  nous  écrire  nos  propres  méthodes.
 
 
__autoload($cla
ssname)
.
 
Pour  qu’on  puisse    utiliser  ce  mécanisme,  nous  allons  ajouter  une  entrée  à  la  variable  
$wgAutoloadClasses.  La  clé  du  tableau  doit  être  le  nom  de  la  classe  et  la  valeur  associée  
le  fichier  qui  con
tient  le  code  de  cette  classe.  
 
Premier  exemple  
simple
 
:
 
Cet  exemple  illustre  ce  mécanisme  et  nous  allons  prendre  
notre  deuxième  extension  
d’évaluation  comme  fonction.
 
$wgAutoloadClasses['
 
EvaluationSillages
 
']
 
=
 
dirname(__FILE__)
 
.
 
'

/
 
EvaluationSillages
.body.php';

Deuxième  exemple  complexe
 
:
 
Cet  
exemple  illustre  le  mécanisme  d’une  extension  complexe.
 
 
$wgFoobarIncludes
 
=
 
dirname
(
__FILE__
)
 
.
 
'/includes/'
;
 
$wgAutoloadClasses
[
'SpecialFoobar'
]
 
 
   
=
 
$wgFoobarIncludes
 
.
 
'SpecialFoobar.php'
;
 
#implémente  la  page  spéciale

$wgAutoloadClasses
[
'FoobarTag'
]
 
   
=
 
$wgFoobarIncludes
 
.
 
'FoobarTag.php'
;
     
#implémente  le  tag  <foobar>
 
f.

Installation
 
 
Voici  les  étapes  qu’on  a  suivies  lors  de  notre  test
 
:
 
1.

Téléchargement
 et  install
ation  
d’
ExtensionFunctions.php
 
2.

Réécriture  de  l’extension  (modification,  correction,  test,  validation)  
 
3.

Installation  de  l’extension
 
Pour  installer  nos
 extension
s
,  nous  
devons
 tout  d’abord  
les  déclarer
 dans  le  fichier  de  
configuration  
LocalSettings.php
,  et  voici  
un  exemple  de  
la  ligne
 de  
commande  
qu
e  nous  
avons  
ajoutée.
 
require_once  "$IP/extensions/evaluation/evaluation.php";
 
 
22
 
Cette  ligne  va  nous  permettre  d’accéder  directement  à  notre  extension  depuis  
MediaWiki.
 Dans  cet  exemple  nous  avons  déclaré  notre  fonction  
Rat
ing  
ou  évaluation.
 
23
 
 
vii.

Wiki
 test
 
 
a.

Caractéristiques
 
 
 
Nous  avons  installé  
et  hébergé
 
notre  propr
e  Wiki  
et  voici  les  
principales  
caractéristiques
 
d’administration.
 
 
Paramètres  du  wiki  test
 
Nom
 
PAIR  
WIKI  SILLAGES
 
Compte  d'utilisateur  pour  l'installation
 
Administrateur  
 
wikisillages
 
Mot  de  passe
 
esVie4aZ
 
Type  de  la  base  de  données
 
MySQL
 
Paramètres  de  MySQL
 
Nom  d’hôte  de  la  BDD
 
localhost
 
Nom  de  la  BDD
 
PAIR_wikisillages
 
Nom  utilisateur    la  BDD
 
wikisillages
 
Mot  de  passe  de  la  BDD
 
esVie4aZ
 
Adresse  de  courriel  de  retour
 
apache@localhost
 
php
MyAdmin
 
Hôte
 
Sur  les  serveurs  de  l’ESIEA
 
Paramètres  FTP
 
Hôte
 
Sur  les  serveurs  de  l’ESIEA
 
Nom  d’utilisateur  
 
wikisillages
 
Mot  de  passe
 
3u497Bmw
 
 
24
 
 
VI.

Déroulement  du  projet
 
 
i.

Organigramme  de  t
â
ches  et  planning  prévisionnel  
 
 
Comme  dans  
tout  projet,  il  est  nécessaire  de  diviser  la  tâche  principale  en  plusieurs  
sous
-­‐
tâches  (appelées  macro
-­‐
tâches)
,
 elles
-­‐
mêmes  divisées  en  sous  macro
-­‐
tâches.  Cette  
division  s’effectue  au  préalable.  Voici  notre  projet  divisé  comme  il  se  doit  lors  de  
l’établiss
ement  du  plan  prévisionnel.
 
 
 
 
 
 
 
Afin  d’optimiser  nos  travaux  futurs,  il  est  primordial  d’acquérir  un  certain  bagage  de  
connaissances  techniques,  d’où  la  macro
-­‐
tâche  A
 
:  «
 
étude  bibliographique
 
»
 qui  englobe  
tous  les  aspects  théoriques  du  web  sémantique,  
ainsi  que  la  prise  en  main  de  la    
plateforme  MediaWiki  mis
e  en
 open  source
 
:  B,  «
 
Prise  en  main  pratique  du  système
 
».
 
La  macro
-­‐
tâche    C  «
 
Réalisation  du  système
 
»    représente  la  partie
 technique
 
de  notre  
projet,  il  s’agit  en  effet  de  t
oute  la  conception  et  de  la  mise  en  place
 de  notre  Wiki
 test
 
avec  les  différentes  fonctions
 complémentaires.  
 
 Lors  du  projet,  il  est  nécessaire    d’avoir  un  suivi  de  ce  qu’il  se  passe  durant  celui
-­‐
ci,  d’où  
la  macro
-­‐
t
âche  
E
 «
 
 Gestion  de  projet
 
».
 
Après  avoir  défini  les  macro
-­‐
tâches  de  notre  projet,  nous  avons  effectué  un  premier  
planning  prévision
nel,  c'est
-­‐
à
-­‐
dire  la  planification  de  nos  différentes  tâches  au  cours  du  
temps
.
PAIR  
A  
Etude  
bibliographique
 
A1  
Web  séman;que  
A2  
Wiki  séman;que  
A3  
Le  Tagging  
A4  
Mediawiki  
A5                                                  
Les  extensions  
B  
Prise  en  main  
pra;que
 
du  
système
 
B1  
Installa;on  et  test  de  
Mediawiki
 
B2  
Test  des  
fonc;onnalitèes  du  
MediaWiki  
B3  
Implementa;on  de  
simple  fonc;on  
B4      
Etude  de  Wiki  SILLAGES  
C  
Réalisa;on
 du  
système
 
C1  
Contruc;on  d'une  
ontologie  
C2  
Extension  de  Tag  
C3  
Extension  d'évalua;on  
D  
Finalisa;on  du  
projet
 
D1  
No;ce  
d'installa;on
 
D2  
Valida;on  
E  
Ges;on
 de  
projet
 
E1  
Plan  directeur  
E2  
Rapport  
intermédiaire
 
E3  
Suivi
 du  
projet
 et  de  
l'avancement
 des  
tâches
 
E4  
Rapport  et  présenta;on  
finale  
²
 
 
23
 
ii.

Organisation  des  t
â
ches
 
 
24
 
 
iii.

Planning  prévisionnel
 
²
 
 
25
 
iv.

Séances  de  travail
 
 
Les  différentes  séances  de  travail  
s’effectuent  majoritairement  durant  les  créneaux  
prévus  à  cet  effet  dans  notre  emploi  du  temps  (majoritairement  le
 lundi  et  jeudi  
)  ainsi  
que  lors  de  notre  temps  libre  (
jeudi  après
-­‐
midi
 ou  dimanche  par  exemple)
,  mais  nous  
avons  travaillé
 pendant  nos  vacanc
es  (Avril)  ce  qui  nous  a  permis  de  bien  d’avancé  dans  
le  projet.
 
 
Ces  séances  se  déroulent  
entre  deux  lieux
 
:  la  salle  E08  de  l’ESIEA
 ainsi  que  la  salle  de  TP  
INF  TECH,
 les  locaux  de  
l’ESIEA
 nous  ont  permis
 l’utilisation  de  tout  le  matériel  
nécessaire  au  d
éroulement  de  notre  projet.
 
 
Chaque  fichier  créé  lors  de  nos  différents  travaux  est  partagé  au  reste  du  groupe  grâce  à  
l’util
isation  de  l’utilitaire  Gmail.
 
 
 
26
 
 
v.

Description  des  t
â
ches
 
a.

Macro  t
â
che  A
Projet  PAIR
 
Tâche  
A
 
Ma
cro  tâche  
:  
A1
 &  A4  
 
 
Version:  3
.0
 
Début  :  Lun
 13/01
/2012
 
Durée  :  4
 jours
 
Date  de  création  :  Mar  15/01
/2012
 
Date  de  modification  :  
03
/05
/2012
 
Objectifs  et/ou  attentes
 


Acquérir  les  connaissances  sur  l’ontologie  
 


Acquérir  les  connaissances  sur  le  Web  sémantique
 
Résultats  attendus
 


Première  
partie  du  document  d’étude  sur  l’ontologie  et  sur  le  logiciel  MediaWiki
 
 
Description  du  travail  à  réaliser
 


Recherche  documentaire  sur  la  façon  à  implémenter  un  Wiki
 
 


Rédaction  du  rapport  d’étude  bibliographique
 
 
27
 
 
 
Projet  PAIR
 
Tâche
 A
 
 M
a
cro  tâche  :  
A2
 
Version:  3
.0
 
Début  :  Lun  15/01
/2012
 
Durée  :  4
 jours
 
Date  de  création  :  19/01
/2012
 
Date  de  modification  :  
03
 
/05/2012
 
Objectifs  et/ou  attentes
 
Réaliser  une  étude  sur  le
 Wiki  Sémantique
 
Se  former  sur  les  ty
pes
 du  Wiki  Sémantique
 
Résultats  attendus
 
étude  détaillé  sur  le  Wiki  Sémantique
 
 
Description  du  travail  à  réaliser
 
Recherche  documentaire  sur  le  Wiki  Sémantique
 
 
Rédiger  les  différents  exemples  du  Wiki  Sémantique
 
 
28
 
 
 
 
 
 
Projet  PAIR
 
Tâche  A
 
M
a
cro  tâche  :  
A3
 
Version:
 1.0
 
Début  :  Lun  06/02/2012
 
Durée  :  2  jours
 
Date  de  création  :  27/02/2012
 
Date  de  modification  :  
 
Objectifs  et/ou  attentes
 
Réaliser  une  étude  sur  le  tagging
 
Se  former  sur  les  différents  langages  qui  
servent
 
à
 
taguer
 
Résultats  attendus
 
E
tude  
détaillé
e
 sur  le  tagging
 
 
Description  du  travail  à  réaliser
 
Recherche  documentaire  sur  les  différents  exemples  du  tagging
 
 
Rédiger  les  différents  tags
 utilisé
s
 dans  le  projet
 
 
 
29
 
 
Projet  PAIR
 
Tâche  A
 
M
a
cro  tâche  :  
A5
 
Version:  1.0
 
Début  
:  Mar  23/04
/2012
 
Durée  :  10
 jours
 
Date  de  création  :  04
/05/2012
 
Date  de  modification  :  
 18/05/2012
 
Objectifs  et/ou  attentes
 
Définition  et  installation  des  extensions
 
Implémentation  de  nos  nouvelles  fonctionnalités  
 
Résultats  attendus
 
Personnaliser  
nos  deux  applications  (Tag  &  Ra
ting)
 
 
Description  du  travail  à  réaliser
 
Recherche  documentaire  sur  les  extensions
 
 
In
stallation  et  test  de  nouvelles
 fonctionnalités
 
 
 
30
 
 
b.

Macro  t
â
che  B
 
Projet  PAIR
 
Tâche  B
 
Macro  tâche  :  
B1
 
Version:  
1.0
 
Début  :  Lun  09/04/2012
 
Durée  :  10  jours
 
Date  de  création  :  10/04/2012
 
Date  de  modification  :  
 
Objectifs  et/ou  attentes
 
Installation  et  test  du  MediaWiki
 
Résultats  attendus
 
Se  familiariser  avec  l’interface  graphique  MediaWiki
 
Modification  
et  ajout  de  nouvelles  lignes  de  commandes  dans  le  fichier  de  configuration  
LocalSettings.php
 
 
Description  du  travail  à  réaliser
 
 
Installation  de  XAMPP
 
Installation  de  la  dernière  version  de  
MediaWiki
 
 
31
 
 
Projet  PAIR
 
Tâche  B
 
Macro  tâche  :  
B2
 
Version:  1.0
 
Début  :  Lun  16/04/2012
 
Durée  :  5  jours
 
Date  de  création  :  23/04/2012
 
Date  de  modification  :  
 
Objectifs  et/ou  attentes
 
Se  familiariser  avec  le  langage  PHP
 
Résultats  attendus
 
Modifier,  personnaliser  les  différentes  extensions
 
Description  du  travail  à  réaliser
 
 
Rechercher  des  fonctionnalités  existantes  en  open  source
 
Premiers  pas  vers
 les  extensions  de  tag  et  de  ra
ting    
 
 
32
 
 
Projet  PAIR
 
Tâche  B
 
Macro  tâche  :  
B3
 
Version:  1.0
 
Début  :  Lun  18
/04/2012
 
Durée  :  15
 jours
 
Date  de  création  :
 08
/05
/2012
 
Date  de  modification  :  
16/05/2012
 
Objectifs  et/ou  attentes
 
Implémentation  des  fonctionnalités  recommandées  par  MediaWiki      
 
Résultats  attendus
 
Ecrire  et  installer  
nos
 propre
s
 extension
s  (TagCloud  &  
RatingBar
)
 
 
Description  du  travail  à  réaliser
 
 
Ajouter  un  système  de  CAPTCHA
 
 
 
 
 
 
33
 
 
Projet  PAIR
 
Tâche  B
 
Macro  tâche  :  
B4
 
Version:  1.0
 
Début  :  Lun  
18
/04/2012
 
Durée  :  2
 jours
 
Date  de  création  :
 20
/04/2012
 
Date  de  modification  :  
 
Objectifs  et/ou  attentes
 
Etudier  en  détail
 
le  fonctionnement  de  
Wiki  SILLAGES
 
Résultats  attendus
 
Définir  une  ontologie  de  tag  par  mots
-­‐
clés
 
Etudier  toutes  les  extensions  existantes  sur  
Wiki  SILLAGES
 
 
Description  du  travail  à  réaliser
 
Etudier  profondément  le  
Wiki  
SILLAGES
 afin  de  choisir  la  bonne  fonction  à  ajoute
r
     
 
 
34
 
 
c.

Macro  t
â
che  C
 
Projet  PAIR
 
Tâche  C
 
Macro  tâche  :  
C1
 
Version:  1.0
 
Début  :  Jeudi19
/04/2012
 
Durée  :  4  
jours
 
Date  de  création  :  23/04/2012
 
Date  de  modification  :  
 
Objectifs  et/ou  attentes
 
Construire  notre  propre  ontologie  
 
Résultats  attendus
 
Mettre  en  place  une  ontologie  de
 Tag
 
 
Description  du  travail  à  réaliser
 
 
Une  recherche  complète  sur  les  différents  aspects  d’une  ontologie
 
 
Rechercher  des  ontologies  fonctionnelles
 
 
   
 
 
35
 
 
Projet  PAIR
 
Tâche  C
 
Macro  tâche  :  
C2
 
Version:  1.0
 
Début  :  Mardi  24
/04/2012
 
Durée  :  16
 jours
 
Date  de  création  :  10/05
/2012
 
Date  de  modification  :  
07/05/12
 
Objectifs  et/ou  attentes
 
Ajouter  une  nouvelle  fonction  de  
Tag
 
Résultats  attendus
 
Modifier,  personnaliser  
notre  extension  de  
Tag
 
Description  du  travail  à  réaliser
 
 
Chercher  les  codes  et  les  extensions  existantes  
 
Modéliser  notre  extension  de  
Tag
 
 
36
 
 
Projet  PAIR
 
Tâche  C
 
Macro  tâche  :  
C3
 
Version:  1.0
 
Début  :  Mercredi  25
/04/2012
 
Durée  :  10
 jours
 
Date  de  création  :  05
/05
/2012
 
Date  de  modification  :
10/05/2012
 
 
Objectifs  et/ou  attentes
 
Mettre  en  œuvre  une  extension  d’évaluation
 
Résultats  attendus
 
Modifier,  personnaliser  
et
 installer  une  extension  d’évaluation  
 
Description  du  travail  à  réaliser
 
 
Rechercher  des  fonctionnalités  existantes  en  open  source
 
Modifier,  corriger  et  installer  une  extension  de  
Ra
ting
   
 
 
37
 
 
VII.

Outils  
 
i.

Matériel
 
 
Pour  réaliser  notre  projet,  nous  avons  utilisé  les  ordinateurs  mis  à  notre  disposition  par  
l’ESIEA.  Ceux
-­‐
ci  sont  des  machines  équipées  de  processus  Intel  Pentium  IV  avec  2Go  de  
mémoire  vive.  Ces  ordinateurs  ont  pour  système  d’exploitation  Linux  et  Windows  
7.    
 
 
ii.

MediaWiki
 
 
MediaWiki  est  
moteur  de
 Wiki  créé  par  Magnus  Manske  et  écrit  en  PHP.  Initialement  
développé  pour  Wikipédia,  il  sert  également  de  base  pour  d'autres  projets  de  la  
fondation  
MediaWiki
 et  inclut  des  fonctionnalités  spécifiques  à  l'encyclopédi
e,  comme  la  
gestion  des  espaces  de  noms,  la  distinction  entre  les  pages  à  contenu  encyclopédique  et  
les  page
s  de  discussions  associées.

 
iii.

XAMPP
 
 
XAMPP  est  un  kit  d'installation  d'Apache  en  open  source  qui  contient  MySQL,  PHP  et  
Perl.  
 
 
iv.

Le  protocole  HTTP  
 
 
HyperText  Transmission  Protocol,  c'est  un  protocole  pour  la  transmission  des  pages  
Web  depuis  un  serveur  vers  un  navigateur  client.
 
 
v.

Serveur  dédié
 
 
Nous  allons  utiliser  un  serveur  Apache  pour  nos  tests  dans  un  premier  temps,  après  
nous  allons  travailler  su
r  le  serveur  interne  de  l’ESIEA.  
 
 
 
38
 
 
VIII.

Développement  
 
 
i.

Tag
Cloud
 
 
Nous  allons  mettre  un  système  de  
TagCloud
 dans  le  but  d’afficher  un  
nuage  de  mots  ou  
d’expressions  
les  plus  présentes  dans  une  page  qu’on  a  créé
e
 sur  le  Wiki  test.    Les  
e x p r e s s i o n s  p e u v e n t  ê t r e  t r i é e s  a l p h a b é t i q u e me n t  o u  p a r  t a i l l e  ( p a r  r a p p o r t  a u  n o mb r e  
d’occurrences).
 
 
Chaque  expression  comporte  un  l
ien  vers  une  page  du  Wiki  test.  Ces  mots
-­‐
clés
 seront  
d’une  grande  utilité  pour  les  visiteurs  ainsi
 que  pour  le  référencement  de  la  page  tag
u
ée.
 
 
a.

Conseils  d’u
tilisation  
 
 
Ø

Met
tre  une  seule  fois  le  mot  à  tag
uer
 
Ø

Bien  choisir  la  taille  des  
Tags
 
Ø

Bien  vérifier  les  l
iens  qui  correspondent  aux  diffé
rent
s
 Tags
 
Ø

Placer  les  
Tags  Clouds
 en  haut  de  page
 
 
b.

Installation
 
 
Dans  le  fichier  de  configuration  
(
LocalSettings.php
),
 nous  allons  ajouter  des  nouvelles  
f onc t i onnal i t és  en  i ns ér ant  des  l i gnes  de  c ommandes,  c el a  va  nous  per met t r e  de  
personnaliser  le  code  afin  d’adapter  le  contenu  du  
Wiki  SILLAGES
.
 
 
Nos  deux  fonctionnal
ités  (
Tag
Cloud
 
et  
Ra
ting)  
qui  sont  deux  fonctions  complexes  et  qui  
contient  3  fichiers  (
configuration,  exécution  et  internationalisation).
 
 
Nous  avons  suivi  un  cycle  de  développement  en  V,  qui  nous  a  permis  de  répondre  à  
votre  cahier  de  charge  ainsi  que  
donner  un  livrable  fonctionnel.
 
 
Les  deux  fonctions  seront  mises  dans  deux  dossiers  et  placés  dans  
(C:
\
XAMPP
\
htdocs
\
mediawiki
\
mediawiki
-­‐
1.19.0rc1
\
mediawiki
\
extensions).
 
 
 
 
 
 
 
 
 
 
 
 
 
39
 
 
 
 
 
 
 
Require_once
 
:  
une    instruction  PHP  
pour  
inclure  un  fichier.


EnableSemantics
 
:

Activer  le  Semantic  MediaWiki
 
 
require_once("$IP/
extension
 
ns/SemanticResultFormats/SemanticResultFormats.php");
 
Cette  commande  va  nous  permettre  d’appeler  notre  fonction  
SemanticResultFormats
.
 
 
Après  nous  avons  intégré  Semantic  MediaWiki  qui  est  une  structure  aboutie  pour  
transformer  un  wiki  
en  une  «
 
base  de  données  collaborative
 
»  puissante  et  flexible  dans  
notre  moteur  de  wiki  MediaWiki.
 
 
 
Ensuite  
nous  avons  mis  des  mots
-­‐
clés  
simples  (10
 
mots  clés)  et  nous  avons  réglé  
leurs  
tailles  selon  la  hiérarchisation  des  informations  au  sein  du  Wiki  test.
 
 
c.

O
ntologie
 
 
Les
 
tr
ois
 
dimensions
 
canoniques
 
de
 
Tag
 
 
 
d.

Code:
 
 
Nous  avons  créé  
une  table  (tagtab)  dans  la  BDD  
 
     
$result  =  mys
ql_query("SELECT  champ
 FROM  tagtab
");
 
           while  ($row  =  mysql_fetch_array($result))  {
 
             
$texte  .=  $row['champ'];
 
           }
 
 
 
Mettre  des  mots
-­‐
cl
é
s
 
 
$tab_banni
 
=
 
Array(
 
"Pair",  "Wiki  SILLAGES
 
",  "Wiki",  "Sémantique")
 
;
 
 
 
Enlever  les  actions  et  les  slashs
 
La  ressource  
Le  Tag  
L'utilisateur  
 
40
 
 
function
 
AuStripSlashes($chaine)
 
{
 
       
return(get_magic_quotes_gpc()
 
==
 
1
 
?
 
StripSlashes($chaine)
 
:
 
$chaine);}
 
 
function
 
TexteSansAccent($texte){
 
$accent='ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËéèêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ';
 
$noaccent='AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCc
IIIIiiiiUUUUuuuuyNn';
 
 
$texte
 
=
 
strtr($texte,$accent,$noaccent);
 
 
return
 
$texte;
 
}
 
 
Créer un tableau pour regrouper les résultats




 
$i=0;
 
           
$compteur
 
=
 
0;
 
           
while
 
(
 
$i
 
<
 
sizeof($tabKey))
 
 
           
{
 
           
$champ
 
=
 
$tabKey[$i];
 
           
$taille
   
=
 
strlen($champ);
 
           
if
 
($taille
 
<=
 
$taille_des_mots)
 
{
 
           
$tag[$compteur]
 
=
 
$tabKey[$i];
 
           
$compteur++;
 
             
}
 
               
$i++;
 
             
if
 
($compteur==($nbre_elements+1))
 
break;
 
           
}
 
 
Partie  affichage
 
 
 

$i=0;


$tag_clouds

=

'<t
able

style="width:240px;border:

1px

dotted

#999;margin:2px;">';


while

($i<sizeof($tab_final))


{


if($i%$nbcol_tableau==0)


$tag_clouds

.=

'<tr><td

colspan="'.$nbcol_tableau.'">';


$tag_clouds

.=

''.$tab_final[$i].'';



if($i%$nbcol_tableau==($nbcol_tableau
-
1))



$tag_clouds

.=

"</td></tr>";


$i++;


}


$tag_clouds

.=

"</table>";


 
Script  d’éxecution
 
 
 

$mtime = microtime();

$mtime = explode(" ",$mtime);

 
41
 

$mtime = $mtime[1] + $mtime[0];

$endtime = $mtime;

$totaltime = ($endtime
-
$starttime);

echo'<br /><br />';

echo '<font style="font
-
size:11px;font
-
family:Verdana;color:#111111; ">';

echo 'Tag Cloud généré en ',number_format($totaltime,4,',',''),' s</font>';

echo '</td></tr></table>';

ec
ho'<br /><br />';

 
 
ii.

RatingBar
 
 
Cette  fonction  va  permettre  aux  utilisateurs  d’évaluer  les  articles  de  votre  
Wiki  
SILLAGES
,  l’utilisateur  disposera  d’une  barre  d’évaluation  en  bas  de  la  page  visitée.
 
 
 
Affichage
:  
 
 
<w4g_
RatingBar
bar/> or <w4g_
RatingBar
bar

idpage="
PairWikiSILLAGES
:
RatingBar
Bar"/>

Top rated pages: <w4g_
RatingBar
list numberofitems="10"/>

Latest votes: <w4g_
RatingBar
list latestvotes="5"/>

 
 
 
 
 
 
42
 
 
IX.

Difficultés  rencontrés  
 
 
 
i.

La  clarté  des  objectifs
 
 
Au  début  du  projet  nous  av
ions  comme  objectif
 l’intégration  d’un  
moteur  de  recherche  
sémantique.  
 
 
L’ étude  théorique  du  système  de  TagCloud
 nous  a  pris  plus  de  temps  que  prévu.
 
 
ii.

Management  du  
projet
 
 
Nous  avons  eu  un  problème  d’organisation  du  groupe  au  début  du  projet,  car  nous  
n’av
i
ons  pas  un  plann
ing  
détaillé.
 
 
Nous  avons  essayé  au  maximum  de  répartir  les  tâches  d’une  façon  équilibrée,  pour  que  
tous  les  membres  du  groupe  puissent  comprendre  la  théorie  du  Tag  et  essayer  de  
développer  un  système  fonctionnel.        
 
 
Nous  étions  plus  concentrés  sur  les  e
xtensions  qui  exi
stent,  nous  avons  installé  5  
fonctions  de  Tag  mise  en  open  source  sur  le  site  officiel  de  MediaWiki,  ce  qui  nous  a  pris  
en
 moyenne  2  semaines.
 
 
Nous  avons  travaillé  d’une  façon  intensive  durant  les  deux  derniers  mois  pour  rattraper  
notre  r
etard.
 
iii.

MediaWiki
 
 
Nous  avons  commencé  notre  projet  par  une  étude  complète  et  très  approfondie  du  web  
sémantique  
et  de
 MediaWiki.
 
 
L’hébergement  de  notre  Wiki  test  nous  a  pris  3  semaines
,
 
à  cause  d
u  protocole  de  
sécurité  interne  de  l’ESI
E
A.
 
 
 
 
 
 
 
 
43
 
 
X.

Conclusion
 
 
Ce  projet  nous  a  permis  d’appliquer  les  connaissances  qui  nous  ont  été  inculquées  au  
cours  de  ces  années  passées  à  l’ESIEA  ainsi  que  de  nous  initier  à  la  recherche  dans  le  
domaine  du  Web.
 

Nous  avons  travaillé  sur  un  projet  très  intéressant  car
 il  englobe  des  enjeux  
r é v o l u t i o n n a i r e s  t e l s  q u e  l e  W e b  s é m a n t i q u e  e t  l e  
T a g g i n g
.
 

 
D u r a n t  t o u t e  l a  d u r é e  d u  p r o j e t  n o u s  a v o n s  é t é  a m e n é s  à  p r o p o s e r  d e  n o u v e l l e s  
fonctionnalités  au  wiki  et  aussi  à  chercher  les  nouvelles  extensions  qui  peuvent  
améliorer  le  
wiki,  ce  qui  nous  a  pris  énormément  de  temps.  Nous  avons  été  confrontés  à  
de  nombreux  problèmes  et  dans  la  plupart  des  cas  nous  avons  pu  trouver  une  solution  
alternative  afin  de  les  résoudre  partiellement.
 

Enfin  ce  projet  
aura  été  l’occasion  de  se  perfect
ionner  dans  le  domaine  
du  Web
 et  
d’utiliser  de  nouveaux  outils
 comme  le  moteur  de  Wiki
.

 
 
44
 
 
XI.

Annexes  
 
 
i.

Bibliographie
 
 
Buffa,  M.,  G.  Erétéo,  et  F.  L.  Gandon  (2007).  Wiki  et  web  sémantique.  In  F.  Trichet  (Ed.),  
IC  2007  :  18e
 
J.  Francophones  d’Ingénierie  des  
connaissances  2007,  Grenoble,  France
,  pp.  49

61.  
Cepadues.
 
 
[Prié  et  Garlatti,  2004]  Prié,  Y.  et  Garlatti,  S.  (2004).  Méta
-­‐
données  et  annotations  dans
 
Le
 Web  sémantique.  
Hors
-­‐
Série
 2004  
-­‐
 Web  Sémantique.  Revue  en  Sciences  du
 
Traitement  de  l'Information,  I3
 (Information  
-­‐
 Interaction  

 Intelligence),  Cépaduès,
 
Toulouse,  pp.  45
-­‐
68.
 
 
Sen  S.,  Lam  S.  K.,  Rashid  A.  M.,  Cosley  D.,  Frankowski  D.,  Osterhouse  J.,  Harper  F.  M.  and
 
J.  Riedl  (2006),  tagging,  communities,  vocabulary,  evolution,  181

190.
 
 
Wolff  C.,  Heckne
r  M.  and  S.  Mühlbacher  (2008).  Tagging  tagging.  Analysing  user  
keywords
 
 
Bussler  C.  (2004),  "Semantic  Web  Services".  
ICWE'04,  Munich,  2004
 
 
WSMO,  (2005)  "Web  Service  Modeling  Ontology  Project  Deliverables".  WSMO  
Project
 
 
 
ii.

Sources
 
 
Wiki  SILLAGES
 
 
SILLAGES
 
http://www.SILLAGES.info
 
Le  Wiki  
http://wiki.SILLAGES.info
 
 
Web  sémantique
 
Application  
http://www.worl
dscinet.com/ijcis/15/1504/S02188430061504.html
 
Les  services
 
http://www.w3.org/Submission/SWSF/
 
Ancien  projet  
http://ceur
-­‐
ws.org/Vol
-­‐
547/128.pdf
 
Web
2.0
 
http://www.educause.edu/
 
Architecture
http://www.scribd.com/doc/52872889/5/Architecture%C2%A0du%C2%A0Web%C2%A
0semantique
     
   &        
http://memsic.ccsd.cnrs.fr/docs/00/67/99/06/PDF/RUIZ_LEPORES.pdf
 
 
Présentation
 
http://www.lsis.org/espinasseb/Supports/ONTOWS
-­‐
2010/WebSem
-­‐
2010
-­‐
4p.pdf
 
 
Wiki  
sémantique
 
 
 
45
 
Introduction  
http://interstices.info/
 
Langage  
http://www.acm.org/class/1998/overview.html
 
 
Tagging
 
 
Définition  
http://www.anthonyharmant.com/60
-­‐
glossaire
-­‐
definition
-­‐
tag.html
 
Application  et  architecture
 http://edutechwiki.unige.ch/fr/Tagging
 
Manuel  de  Tag  
http://www.mediawiki.org/wiki/Manual:Tag_exten
sions
 
Perspectives  
http://
www.ieml.org/IMG/doc/USLeditor3.doc
 
 
Ontologie
 
 
Historique  
http://wikipedia.org
 
Application  
http://protege.stanford.edu/
 
Développement  
http://tomgruber.org/writing/ontodesign.pdf
 
Introduction
 
http://lacot.org/public/introduction_a_owl.pdf
 
http://www.wikipedia.org/wiki/Acédie
 
 
MediaWiki
 
 
Installation  &  configuration
   
http://www.mediawiki.org/wiki/Manual:Configuration/fr
 
Les  extensions  
http://www.mediawiki.org/wiki/Manual:Extensions/fr
 
TagCloud  
http://www.mediawiki.org/wiki/Tagcloud
 
RatingBar
 http://www.mediawiki.org/wiki/Extension:
RatingBar
 
RatingBar
Bar  
http://www.mediawiki.org/wiki/Extension:W4G_
RatingBar
_Bar
 
           
http://www.mediawiki.org/wiki/Extension:
RatingBar
_Bar
 
           
http://www.mediawiki.org/wiki/Extension:Relevance_
RatingBar
 
 
 
Langage
s  de  programmation
 
 
 
PHP
 
phpMyAdmin
 
http://
www.phpmyadmin.net/
 
Forum
 
http://www.developpez.net/
forums/d524395/php/scripts/wiki/mediawiki
-­‐
inserer
-­‐
codes
-­‐
php
-­‐
wiki/
 
 
XML
 
Cours
 
http://
www.gchagnon.fr/cours/
xml
/
 
Forum
 
http://xml.developpez.com/
 
Analyseur  syntaxique
 
http://php.net/manual/fr/book.xml.php
 
 
 
FileZi
l
la
 Client
 
 
Téléchargement
 
http://filezilla
-­‐
project.org/download.php
 
 
Documentation
 
http://doc.ubuntu
-­‐
fr.org/filezilla
 
 
Xampp
 
 
46
 
 
Téléchargement
 
http://www.apachefriends.org/fr/xampp
-­‐
windows.html
 
Documentation  
http://www.apachefriends.org/fr/faq
-­‐
xampp.html