rapport modélisation web 2.0
TRANSCRIPT
ECOLE NATIONALE DES SCIENCES APPLIQUEES DE
TETOUAN
Réalisé par :
Tahiri Najoua
Tbatou Sanae
Dahmani Kawtar
Marah Rim
1
Sommaire
I. Introduction
II. Remerciements
III. Contexte général du projet
A. L’objet du projet
B. Présentation du projet
C. Objectifs et travail demandé
IV. Analyse et conception
A. Etude préalable
B. Cahier de charges
C. Dépendances fonctionnelles
D. Règles de gestion
E. Identification des tables et des associations
F. Description du modèle conceptuel de données
G. Modèle conceptuel de données
H. Modèle logique de données
H.1. MLD Formelle
H.2. MLD informelle
I. Modèle physique de données
J. Unified Modeling Language (UML)
V. Réalisation et mise en œuvre
1- Réalisation de la base de données sous Oracle
2- Quelques requêtes
VI. Conclusion
2
I. Introduction
e présent rapport décrit la réalisation d’une étude de modélisation
sur le Web 2.0. Ce dernier étant une évolution du Web vers plus de
simplicité et d'interactivité. L'expression« Web 2.0 » désigne
l'ensemble des techniques, des fonctionnalités et
des usages du World Wilde Web qui ont suivi la forme initiale du web, en
particulier les interfaces permettant aux internautes ayant peu de
connaissances techniques de s'approprier les nouvelles fonctionnalités du
web.
Ainsi, les internautes contribuent à l'échange d'informations et peuvent
interagir (partager, échanger, etc.) de façon simple, à la fois avec le contenu
et la structure des pages, mais aussi entre eux, créant ainsi notamment
le Web social. L'internaute devient, grâce aux outils mis à sa disposition,
une personne active sur la toile.
Le Web 2.0 donc étant un ensemble de bons procédés qui suivent une
évolution logique du Web.
On peut résumer le "concept" Web 2.0 en deux aspects : l'un qui est
technique et l'autre qui est plus lié à la communication et le partage
Au niveau technique le Web 2.0 correspond à ce que l'on peut
appeler les interfaces enrichies.
Au niveau communication cela correspond au partage et à la diffusion
d'information.
L
3
II. Remerciements
Au terme de ce travail, Nous tenons aussi à témoigner de notre
profonde gratitude à notre professeur de modélisation des bases de
données : Mme FISSOUNE RACHIDA qui n’a épargné ni son temps ni
son énergie pour nous aider à faire aboutir ce travail et pour leur
soutien, leur collaboration et leur disponibilité tout au long du
travail.
Nous remercions enfin toute personne qui a contribué de près ou de
loin { l’élaboration de ce travail.
Merci
4
Chapitre III. Contexte Général du projet
Dans la première section de ce chapitre, on va présenter
un aperçu sur notre sujet, à savoir « WEB 2.0 », son
organisation et son domaine d’activité .
La deuxième section sera dédiée à une description
détaillée du projet, son objet et l’objectif du travail
demandé
5
III. Contexte du projet
A. L’objet du projet
Le Web 2.0 est considéré comme l’un des célèbres concept de
programmation des sites web modernes choisissant un interaction avec les
internautes
Le Web 2.0 est distigué par son APPROCHE SOCIALE basé sur :
Publication collaborative et usages communautaire
Partage de contenu
Réseaux sociaux
« Le web 2.0 est social, est ouvert, il vous laisse le contrôle de vos données,
il mélange le global au local. Le web 2.0 correspond à de nouvelles
interfaces – de nouvelles manières de rechercher et d’accéder au contenu.
Le web 2.0 est une plateforme prête à recevoir les éducateurs, les médias, la
politique, les communautés, pour pratiquement chacun en fait ! Le web 2.0,
c’est tout cela et ne laissez personne vous dire que c’est l’une ou l’autre de
ces définitions. Le web 2.0 parle des personnes, quand le web descend à
eux».
Avantages :
Simplicité, interactivité, personnalisation, valorisation des compétences de
l’individu
Inconvénients :
Questions concernant la pérennité, la fiabilité, la traçabilité des
informations
Sécurité des informations
Respect de la vie privée
Le web 1.0 effectue des liens alors que le web 2.0 effectue des biens
6
B. Présentation du projet
Qu'est-ce que le Web 2.0 ?
Le concept de Web 2.0 désigne une nouvelle façon de penser le Web, plus
centrée sur l'expérience de l'utilisateur, la gestion et le partage de
ressources.
Même si le Web 2.0. n'a pas de définition précise, il pourrait être décrit
comme un concept qui désigne une évolution du Web et la seconde
génération d'applications en ligne à disposition des internautes, leur
permettant d'interagir, de créer, de gérer et de partager des contenus.
7
Le Web centré sur l'utilisateur
Le Web 2.0 est caractérisé par l'apparition d'une multitude de services
orientés vers l'utilisateur. De la page d'accueil personnalisable à la gestion
d'albums photos en ligne, tout est paramétrable et personnalisable.
Les profils des utilisateurs :
Les profils d'utilisateurs sur les réseaux sociaux sont constituées
d'éléments primaires, telles que des informations démographiques comme
le sexe, l'âge, la nationalité, l'éducation, de l'intérêt (s), l'auto-description en
prose, photo (s), listes ami et témoignages dans le profil, fournissant à la
fois - un perspectif membre ainsi que celle de ses amis peut être bénéfique.
The profile represents how the individual chooses to present identity at a
specific time and with a particular understanding of ones audience. Le profil
représente la manière dont l'individu choisit de présenter l'identité à un
moment précis et avec une compréhension de public particulier celles. As
discussed by Danah Boyd in his paper, the testimonials are only a tribute of
the moment and reflect the same type of language one might see in a high
school yearbook. The format of user profile may differ based on intensions
of socialization on SNS. Le format du profil de l'utilisateur peut différer en
fonction intentions de la socialisation sur SNS. Screen 2 shows example of
one user profile on LinkedIn - a network for business contacts. La photo
montre l'exemple d'un profil utilisateur sur facebook et viadeo
8
Type des utilisateurs sur les networks social :
Normalement, pour utiliser SNS, l'utilisateur doit s'inscrire en tant que membre d'une respectives du SNS. les utilisateurs de SRS peuvent être classés comme
1-les amis : Ce sont les membres du réseau social dont l'utilisateur connaît personnellement dans la vie réelle ou non et les fiducies comme des amis.
2. -La famille- Ce sont les membres, des amis qui peuvent être indiquées comme des familles
A
M
I
S
9
Les applications 2.0
Les applications dites 2.0 se multiplient. Elles permettent de créer et
gérer, commenter, aimer des photos en ligne, d'organiser ses propres
interfaces de gestion de contenu.
Les figures de proue de nouvelles applications Web sont les applications 2.0
créées par Google (Google Maps, Google Earth, Gmail, Google Reader, etc.).
Fonctionnant essentiellement en AJAX (Asynchronous JavaScript + XML),
elles proposent des interfaces riches et centrées sur l'expérience de
l'utilisateur.
Exemple par google +, On peut partager la photo (SHARE) , Commenter la
photo (comment) ou bien de aimer la photo ( j’aime : +3)
F
A
M
I
L
L
E
10
Les applications 2.0 Ont souvent la fonction de pouvoir interagir entre
elles via les tags et les j’aime.
Le caractère universel des applications 2.0 est un de leurs nombreux
avantages: on peut accéder à toute application à partir de n'importe où
puisque tout est en ligne.
11
III. Contexte du projet
C. Objectifs et travail demandé
Ce projet avait pour le but de modéliser et concevoir une base de données
d’un site interactif de type 2.0 sous Oracle avec la méthode Merise. En
développant les modèles conceptuelles et logiques de données à travers les
étapes suivantes :
12
Notre projet se compose de plusieurs caractéristiques correspondantes au
site web 2.O :
Les nuages de tags ou nuages de mot clés est une série de liens
hypertextes, généralement d’un seul mot, et dont la taille de la police
varient avec importance que ce mot à au sein du site
Taxonomie (ensemble de termes) sur le contenu : possibilité d’ajouter
des tags , système de catégorie.
Taxonomie intelligence : possibilité de voter sur les tags afin de
classer par ordre de pertinence.
Système de notation sur le contenu
Système de vote sur le contenu
Système de commentaire sur le contenu : les utilisateurs doivent
pouvoir commenter le contenu créé par les autres utilisateurs
Système de voter sur le contenu
Système de relation entres les utilisateurs : amitié, groupe, blocage et
échange de messages
Système de drapeau (flag) sur le contenu, permettant aux utilisateurs
de signaler facilement aux administrateurs, netiquettes.
13
Chapitre IV. Analyse et Conception
Dans ce chapitre, On va aborder la phase d’analyse et de
conception, on détaillera les besoins fonctionnels du projet
par un cahier de charges, ainsi que les besoins détaillés,
modélisés par les diagrammes de Merise, MCD, MLD,
MPD et les dépendances fonctionnelles correspondantes.
14
IV. Analyse et conception
A. Etude préalable
Dans l’objectif de bien comprendre et concevoir notre projet, nous avons
collecté des informations issus de différentes sites de type Web 2.0 comme
twitter.com, famicity.com, youtube.com, wiki.org….., on s’est inspirer de
quelques sites qui interconnecte le monde entier : ce sont des réseaux
sociaux qui font un succès énorme, et voici quelques facteurs clés de ce
réussite :
Respecter les codes mis en place (comportement, langage, règles, …)
Rester simple & transparent vis-à-vis du mode de fonctionnement
« Participer » et non « utiliser »
Ne pas imposer une organisation / un rapport de force
Personnaliser le contenu
15
IV. Analyse et conception
B. Cahier de charge
Les sites « web 2 .0 » ont e commun la gestion des comptes utilisateurs. ces
sites offrent donc tous des possibilités d’authentification pour pouvoir
poster du contenu , commenter ou bien sélectionner ses contenus préférés
- Les sites de réseaux sociaux sont des services Web qui permettent
aux individus de construire un profil public ou semi-public au
sein d'un système borné, articuler une liste des autres utilisateurs
avec lesquels ils partagent une connexion
- Avant avoir rejoint un site de réseau social, chaque personne veut
s’inscrire d’abord, faut donner ses informations obligatoirement :
nom, prénom, adresse électronique, mot de passe, le sexe, date de
naissance a fin de garantir l’authenticité des informations et de
fournir un contenu approprié selon l’utilisateur
- Pour entrer à un site de réseau social exemple de facebook, twitter,
LinkedIn.. , Il faut s’authentifier par l’adresse électronique et un
mot de passe.
- Les utilisateurs peuvent télécharger une photo de profil. Les SRS
permettent aux utilisateurs d'améliorer leur profil en ajoutant du
contenu multimédia ou de modifier le look de leur profil et se
sentent. D'autres, tels que Facebook, permettent aux utilisateurs
d'ajouter des modules «Applications» qui améliorent leur profil,
des articles, ajouter les albums des photos, publier les vidéos des
musiques
- Un utilisateur est invité à remplir des formulaires contenant une
série de questions. Le profil est généré en utilisant les réponses à
ces questions, qui comprennent généralement des descripteurs tels
que :
l'âge, le lieu, les intérêts et une "à propos de moi" qui est occupé
par emploi et scolarités , Résidence , Info Général ,les
coordonnées occupés par l’adresse, réseau, pseudonyme , les
citations favorites
16
- La visibilité d’un profil varie en fonction de la discrétion de
l’utilisateur, chaque participant sera en mesure de masquer chaque
information sur son profil ou bien de les publier ou bien de
personnaliser ses paramètres : par exemple personne ne peut voir
ses informations sauf une personne ou des personnes données
- Il ya plusieurs type des paramètres : un utilisateur choisit des
personnes qui peuvent voir son mur, son profil, ses informations,
soit seulement ses amis, les amis de ses amis, tout le monde ou bien
le personnalisé
- Les utilisateurs qui font partie du même "réseau" peuvent
consulter les uns des autres profils, sauf si un propriétaire du profil
a décidé de refuser la permission à ceux de leur réseau. Variations
structurales autour visibilité et l'accès sont l'un des principaux
moyens que le site de réseau social se différencier les uns des
autres.
- Les participants ne sont pas nécessairement «réseautage» c.à.d.
avoir plusieurs réseaux avec des différents inconnus personnes ;
ou qui cherchent à rencontrer de nouvelles personnes, mais plutôt,
ils sont surtout communiquer avec les gens qui sont déjà une partie
de leur réseau social étendu.
- Un utilisateur peut donner ses informations correctes ou non , il
peut utiliser un autre nom avec un autre prénom , et n’importe
quelle image
- Système de relations en SRS :
Il ya plusieurs type des relations , des relations parenté c.à.d.
sœur, frère , père , mère , tante , nièce , grand-père, grand-mère ,
oncle, cousin(e), belle-mère, belle-sœur.. , relations amoureuse
soit en couple avec , marié avec , célibataire , c’est compliquées .
- Un participant peut avoir plusieurs relations avec plusieurs
utilisateurs concernant les relations parenté, mais une seule
relation amoureuse
- . L'étiquette de ces relations diffère selon les termes du site
populaires incluent «Amis», «Contacts» et «Les fans». La plupart
nécessitent SITE DE RÉSEAU SOCIAL bidirectionnel de
confirmation pour l'amitié, mais certains n'en ont pas.
17
- La liste d'amis comporte des liens vers le profil de chaque ami,
permettant aux téléspectateurs de parcourir le graphe du réseau en
naviguant sur les listes d'amis.
- Les utilisateurs peuvent laisser des messages sur les profils de
leurs amis.
- En outre, les sites de réseau social ont souvent une fonction de
messagerie, Alors que les deux messages privés et commentaires
sont appréciés sur la plupart des grands sites web 2.0
- Au-delà des profils, des amis, des commentaires et une messagerie
privée, SRS varient grandement leurs caractéristiques et de la base
utilisateur. Certains ont de partage de photos
- Taxonomie sur le contenu : parmi les nouveautés des sites web 2.0
est le système de tags et commentaire sur un contenu, un
utilisateur peut tagger un ou plusieurs amis sur un vidéo , une
image , une article , alors que ses amis pas seulement ceux qui ont
tagger , peut commenter sur le contenu ou bien de faire voter par ‘
j’aime ’ sur le contenu ou bien de commenter, même l’utilisateur
peut commenter sur son propre publication et faire j’aime ; afin de
les classer par nombre total des j’aime
- Autre catégorie qu’il existe : le système de notation sur un
contenu ; les utilisateurs peuvent noter sur un contenu des ses
amis afin de les classer par la note donnée
- Chaque utilisateur à un fil d’actualité l’actualité de l’ensemble des
contacts amis et des publications des différents pages fans de
l’utilisateur
- Dans chaque mur, il ya les publications personnelles de chaque
participant : les vidéos publiées et tagués, les articles, les albums de
photos publiés et tagués, les statuts..
- Chaque utilisateur peut partager un article, une photo, vidéo,
statuts
18
- L’utilisateur pourra démarrer des discussions instantanées (chat)
avec ses contacts qu’il veut c.{.d. peut apparaitre en ligne pour les
personnes qu’il veut seulement ou bien d’apparaitre en ligne pour
tous les personnes ou de rester hors ligne.
- Lors de la réception d’une demande d’ajout d’un contact { la liste
des amis, l’utilisateur a le choix d’accepter ou de décliner la
demande
- Les utilisateurs peuvent recevoir un ou plusieurs messages privés
par des autres utilisateurs inconnus, mais parfois il ya des
exceptions car il ya des utilisateurs qui personnalisent les modes
des réceptions des messages des autres utilisateurs : par exemple
tu peux choisir de recevoir des messages seulement de tes amis pas
tout le monde
- Un utilisateur peut créer un ou plusieurs groupe, organiser des
événements, une page fan, et être son modérateur et gérer ses
adhérents et publications.
- Les utilisateurs peuvent être invités à un ou plusieurs événements
qu’ils peuvent être participants, ou annulés invitations
- Un utilisateur peut bloquer un ou plusieurs utilisateurs parmi ses
amis, il peut les débloquer aussi à un temps ultérieur
- Système de vote : dans les sites web 2.0 exemple de Facebook, on
peut trouver une application de sondages par système de vote par
les utilisateurs par exemple :
un questionnaire avec plusieurs réponses, chaque
participant choisit la réponse qu’il veut, afin de classer tous
les réponses selon les nombres des votes, ce genre des
applications n’importe qui pour les faire, un participant ou
modérateur peut faire un ou plusieurs sur son propre page
- Système des notifications : Une fois une publication aimé ou
commenté par l’un des contacts de l’utilisateur, une notification
sera envoyé automatiquement et un message { la boite d’e-mail de
ton adresse électronique.
- Système de rappels pour les anniversaires de tes amis.
- Système des flags : permettant aux utilisateurs de signaler
facilement aux administrateurs.
19
IV. Analyse et conception
C. Dépendances fonctionnelles
20
21
IV. Analyse et conception
D. Les Règles des gestions
- Un utilisateur doit remplir un formulaire d’inscription dont les
champs sont: le nom, le prénom, l’adresse électronique, le mot de
passe, la date de naissance, et le sexe, un formulaire d’inscription
doit être remplir par un ou plusieurs utilisateur
- L’utilisateur se connecte via son adresse électronique et un mot de
passe, il identifie par son id de profil, Photo de profil, un nom de
profil, une petite description ‘{ propos de moi’ s’il veut.
- Les amis d’un utilisateur se sont des utilisateurs aussi
- La photo du profil est identifiés par un id de profil, nom de photo,
date de photo .
- Lors de son authentification, il a donc un profil, des amis, des
groupes (ouverts, fermés, ou secrets), et les pages fans
- L’utilisateur { un profil par un type identifié par id de type profil
et type de visibilité de profil dont l’utilisateur pourra rendre son
profil privé ou public
- L’utilisateur pourra partager des vidéos, des images, des articles ou
des textes sur son mur, les photos sont identifiées par Id de photo,
nom de photo, date de photo ; les articles sont identifiés par un id
d’article, nom d’article, date, auteur, contenu d’article
- L’utilisateur pourra aimer un ou plusieurs publications soit
propres à lui, soit de ses contacts amis, une publication est
identifiée par id de publication, date de publication, nom de
publication
- Parmi ses contacts amis, il pourra en plus choisir un ou plusieurs
statut de relation entre ses amis un lien de parenté
- L’utilisateur a le droit d’envoyer un ou plusieurs messages privés
pour ses contacts, chaque message est identifié par id de message,
nom de message, et un contenu de message.
- L’utilisateur pourra démarrer des discussions instantanées (chat)
ou non avec un ou plusieurs contacts
- L’utilisateur pourra commenter ses propres publications ou les
publications de ses amis, groupes, ou pages fans, les commentaires
22
sont identifiés par id de commentaire, date de commentaire, et le
nombre de j’aime correspondant au commentaire.
- L’utilisateur pourra tagger ses amis ou non sur un ou plusieurs
une publication, il ya plusieurs type de publication : photo, texte,
vidéo ; un type de publication identifié par un id, nom, nombre de
j’aime
- L’utilisateur pourra demander d’ajouter un ami, et recevoir des
demandes d’ajout à la liste des amis, l’utilisateur a le choix
d’accepter ou de décliner la demande.
- L’utilisateur pourra être invité { des évènements
- L’utilisateur pourra organiser des évènements
- Le fil d’actualité est une page qui présente l’actualité de l’ensemble
des contacts amis et des pages fans de l’utilisateur
- Une fois une publication aimé ou commenté par l’un des contacts
de l’utilisateur, une notification sera envoyée, une notification
identifiée par id de notification, nom et date.
- Une fois une nouvelle publication est partagée sur l’un des groupes,
une notification sera lui envoyer, utilisateur peut recevoir un ou
plusieurs notification
- L’utilisateur pourra écrire des articles et en tagger des amis
- L’utilisateur pourra créer des groupes d’amis pour personnaliser sa
liste de contacts
- Chaque utilisateur pourra préciser sa carrière de formation, son
emploi, ses opinions religieuses, une zone où il met un message à
propos de lui, ainsi que ses coordonnées, l’ensemble de ses
détailles est affiché sur une page appelé infos
- Il existe un système qui rappelle { l’utilisateur la date de naissance
de ses amis
- L’utilisateur pourra créer un ou plusieurs groupes et être son
modérateur
- L’utilisateur pourra créer une page fan et gérer ses adhérents et
publications
- L’utilisateur pourra rejoindre ou pas un ou plusieurs page de fan,
et des groupes
- L’utilisateur pourra noter un ou plusieurs contenu de ses amis
23
VI. Analyse et conception
E. Identification des tables et des associations
Entité /Association Nom attribut Commentaire (Type)
Utilisateur_inscription (Entité) Email_utilisateur Clé primaire caractère
Nom_utilisateur Caractère
Prenom_utilisateur caractère
Date_naissance_utilisateur date
Sexe_utilisateur caractère
Mot_de_passe caractére
Utilisateur(Entité) Id_profil Number , clé primaire
Photo_profil image
A_propos_de_moi caractère
Nom de profil caractère
Type_profil (Entité) Id_type Number , clé primaire
Visibilité_profil caractère
Emploi (Entité) Nom_emploi caractère
Lieu_emploi caractère
Article (Entité) Id_article number
Nom_article caractére
Date_article date
Auteur_article caractère
Contenu_article Caractére
Ville (Entité) Id_ville number
Origine_ville caractère
Habitat_ville caractère
Evenement (Entité) Id_evenement number
Nom_evenement Caractère
Date_evenement
24
Page-fan(Entité) Id_page Number
Nom_page caratère
Type_page caractère
Groupe (Entité) Id_groop Number, clé primaire
Nom_group caractère
Type_group Caractére
Album_photo (Entité) Id_album Number , clé primaire
Nom_album caractére
Date_album Date
Photo (Entité) Id_photo Number,clé primaire
Nom_photo caractère
Date_photo Date
Vidéo (Entité) Id_video Number , clé primaire
Contenu_texte caractére
Date_texte Date
Reponse_ajout (Entité) Id_reponse Number , clé primaire
etat caractére
Publication (Entité) Id_publication Number , clé primaire
Date_publication date
Nom_publication Caractère
Texte (Entité) Id_texte Number , clé primaire
Contenu_texte caractére
Date_texte Date
Type_publication (Entité) Id_type_publication Number,clé primaire
Nom_publication caractére
Commentaire (Entité) Id_commentaire Number, clé primaire
Date_commentaire date
25
Contenu _commentaire Caractére
Flag (Entité) Id_flag Number , clé primaire
Nom_flag Caractére
Notification (Entité) Id_notification number
Nom_notification caractére
Date_notification Date
Statuts_relation (Entité) Id_relation Number , clé primaire
Nom_relation caractère
Message (Entité) Id_message Number, clé primaire
Nom_message caractére
Contenu_message Caractére
Note (Entité) Id_note Number , clé primaire
Note_attribue float
Type_message (Entité) Id_type_message Number , clé primaire
Vote (Entité) Id_note Number,clé primaire
Vote_name Caractére
Formation (Entité) Id_diplome Number,clé primaire
Nom_diplome caractére
Lieu_diplome caractére
promotion Date
Fait (association)
Est_ami (association)
Peut_crée (association)
Travaille (association)
Rédige (association)
Aime (association)
Est tagé (association)
Participe (association)
Organise (association)
Créer (association)
Composé-de (association)
26
Demande-ajout (association)
Partage (association)
Aime (association)
Avoir (association)
Ecrit (association)
Aime (association)
Crée (association)
Rejont (association)
Appartient (association)
Effectue (association)
Donne (association)
Caractérisé par (association)
Suit (association)
Posséde (association)
Recoit (association)
Est_en_relation (association)
Envoie (association)
Destinataire (association)
Avoir (association)
27
IV. Analyse et conception
F. Description de Modèle conceptuel de données
- Il s’agit de la représentation schématique des données, et des liens
entre elles.
- Le MCD est également appelé schéma conceptuel.
- Le MCD est un outil de communication, tant interne qu’externe {
l’organisation.
Notion d'entité faible :
- Il s'agit d'une entité dépendant d'une autre entité.
Exemple :
- L'identifiant de l'entité "forte" (album_photo) intervient dans
l'identifiant de l'entité "faible" (photo), il s'agit généralement de
code articulé
Notion double contrainte sur une patte :
Exemple :
1,n 1,1
album_photo
id_album
nom_album
date_album
<pi> Numérique
<Indéfini>
<Indéfini>
<O>
Identifiant_1
...
<pi>
photo
id_photo
nom_photo
date_photo
<pi> <Indéfini>
<Indéfini>
<Indéfini>
<O>
Identifiant_1
...
<pi>
composé_de
28
- Dans cet exemple, Premièrement on a L'identifiant de l'entité
"forte" (Emploi) intervient dans l'identifiant de l'entité "faible"
(utilisateur (R))
- On a une double contrainte pour les 2 entités utilisateur (0,n) et
article (1,1) : Sur la patte utilisateur , le 0 signifie que utilisateur
ne peut pas être reliée à article
- Lors de sa création, ce qui implique Création d’une occurrence Y
Association réflexive :
- Association de dimension 2, ou plus, reliant une entité à elle-même.
Dans l’exemple Au-dessus, On a une association réflexive d’entité utilisateur
- Un utilisateur est un ami d’un autre utilisateur, un ami est un
utilisateur aussi - Cardinalité (1 ,1) : signifie qu’un utilisateur est un ami
Cardinalité (0, n) : signifie qu’un ami d’un utilisateur c’est un utilisateur
Association (0,n) /(1 ,n) :
Dans le même exemple, on a une association créer entre les deux
entités utilisateur (0, n) et page_fan (1, n)
- Une cardinalité (1.n) signifie que chaque entité appartenant à la
classe d'entité participe au moins une fois à la relation.
- Une cardinalité ( 0.n) signifie que chaque entité appartenant à une
classe d'entité ne participe pas forcément à la relation.
Classification en fonction des cardinalités :
Si présence du couple de cardinalité (1,1) sur une des pattes, l'association
est alors appelée Contrainte d'Intégrité Fonctionnelle (ou association
hiérarchique [père-fils]).
Une Contrainte d'Intégrité Fonctionnelle (CIF) se définit par le fait que l'une
des entités participant à l'association est complètement déterminée par la
connaissance d'une ou plusieurs autres entités participant dans cette même
association.
29
Exemple :
La ville d'un participant détermine celle du l’utilisateur : il n'y en a qu'un
Association multiple :
On a dans l’exemple au –dessus, une association multiple « rejoint »
- Un utilisateur peut rejoint ou non un ou plusieurs groupes, ou plusieurs page de fan
Spécialisation/ Exclusion :
Exemple : les entités photo , vidéo , texte : ne sont pas des entités autonomes.
Elles dépendent de l’entité publication dont elles héritent les propriétés (y compris l’identifiant).
30
G. Modèle conceptuel de données :
31
IV. Analyse et conception
A. Modèle logique de données
1- Modèle informelle :
Utilisateur_inscription (Email_utilisateur, nom_utilisateur,
prenom_utilisateur, date_naissance_utilisateur, sexe_utilisateur,
mot_de_passe)
Publication (Id_publication, Date_pubication, nom_publication)
Photo_album (Id_ album, Date_ album, nom_ album,Id_photo)
Photo (Id_ photo, Date_ photo, nom_ photo,Id_publication)
Video (Id_ video, Date_ video, nom_ video, Id_publication)
Texte (Id_ texte, Date_ texte, nom_ texte,Id_publication)
Groupe (Id_ groupe, type_ groupe, nom_ groupe)
Page_fan (Id_ page, type_ page, nom_ page)
Message(Id_ message, contenu_ message, nom_
message,Id_profil,Id_type_message)
Type_message(id_type_message)
Utilisateur(Id_profil, photo_profil, a_propos_de_moi,
nom_profil,id_publication,id_flag,Id_notifiacation,Id_type,Id_album,I
d_emploi, Email_utilisateur)
Type_profil(id_type, visibilité_profil)
Evenement(Id_ evenement, date_ evenement, nom_ evenement)
Notification(Id_ notification, date_ notification, nom_ notification)
Article(Id_ article, date_ article, nom_
article,auteur_article,contenu_article,Id_article)
Status_relation(Id_ status, status_relation,Id_profil)
Note(Id_note, note_attribue,Id_profil)
Vote (Id_vote, vote_name,Id_profil)
32
Flag (Id_flag, nom_flag)
Ville(Id_ville,origine_ville,habitat_ville, Id_profil)
Commentaire(Id_ commentaire,Date_
commentaire,contenu_commentaire,Id_profil)
Reponse_ajout(Id_reponse, Etat)
Aimer(Id_pubication,Id_profil)
Est_tagé(Id_publication,Id_profil)
Aimer(Id_commentaire,Id_profil)
Destinataire(Id_profil,Id_message)
Aimer(Id_album,Id_profil)
Aimer(Id_article,Id_profil)
Est_tagé(Id_article,Id_profil)
Organiser(Id_evenement,Id_profil)
Participer(Id_evenement,Id_profil)
Crée (Id_page,Id_profil)
Rejoint(Id_page,Id_profil)
Crée (Id_groupe,Id_profil)
Rejoint(Id_groupe,Id_profil)
Suit(Id_formation,Id_profil)
Est_ami(Id_profil_Ami1,Id_profil_Ami2)
Demande_ajout(Id_Utilisateur_demandant,Id_utilisateur_recepteur)
Emploi(Id_emploi,Nom_emploi,Lieu_emploi)
Formation(Id_diplome,Nom_diplome,Lieu_diplome,Promotion)
33
2- Modèle Formelle :
fait
po
ssèd
e
Re
çoit
Effe
ctue
Do
nn
e
En
voie
Ca
racté
risé_
pa
r2
Ca
racté
risé_
pa
r
Est_
en
_re
latio
n2
Est_
en
_re
latio
n
Est_
am
i
Ré
dig
e
Pe
ut_
crée
r
Co
mp
osé
_d
e
Ap
pa
rtien
t
Ecrit
a
Pa
rtag
e
Pa
rtag
e
Pa
rticipe
Pa
rticipe
Org
an
ise
Org
an
ise
Cré
e2
Cré
e
Cré
e
Cré
e
Re
join
t2
Re
join
t
Re
join
t
Re
join
t
Su
it
Su
it
Tra
vaille
Tra
vaille
Aim
e
Aim
e
Aim
eA
ime
Aim
e
Aim
e
Aim
e
Aim
e
Hé
ritag
e
De
stina
taire
De
stina
taire
Est ta
gé
Est ta
gé
est ta
gé
est ta
gé
De
ma
nd
e_
ajo
ut2
De
ma
nd
e_
ajo
ut
De
ma
nd
e_
ajo
ut
on
va u
tilisé X
po
ur q
ue
la p
ub
licatio
n se
ra o
u b
ien
vide
o
ou
bie
n te
xte o
u b
ien
ph
oto
Am
i1A
mi2
Utilisa
teu
r_D
em
an
da
nt
Utilisa
teu
r_R
ece
pte
ur
Utilisa
teu
r_in
scriptio
n
Em
ail_
utilisa
teu
r
No
m_
utilisa
teu
r
Pre
no
m_
utilisa
teu
r
Da
te_
na
issan
ce_
utilisa
teu
r
Se
xe_
Utilisa
teu
r
Mo
t_d
e_
pa
sse
<a
i>C
ara
ctère
(25
6)
Ca
ractè
re (2
56
)
Ca
ractè
re (2
56
)
Da
te
Ca
ractè
re (2
56
)
Ca
ractè
re (2
56
)
Em
ail_
utilisa
teu
r
...
<a
i1>
Pu
blica
tion
Id_
pu
blica
tion
Da
te_
pu
blica
tion
No
m_
type
<a
i>N
um
ériq
ue
Da
te
Ca
ractè
re (2
56
)
Id_
pu
blica
tion
...
<a
i1>
Gro
up
e
Id_
gro
up
e
No
m_
gro
up
e
Typ
e_
gro
up
e
<a
i><
Ind
éfin
i>
<In
dé
fini>
<In
dé
fini>
Id_
gro
up
...
<a
i1>
Pa
ge
_F
an
Id_
pa
ge
No
m_
pa
ge
Typ
e_
pa
ge
<a
i>N
um
ériq
ue
Ca
ractè
re (2
56
)
Ca
ractè
re (2
56
)
Id_
pa
ge
...
<a
i1>
Me
ssag
e
Id_
me
ssag
e
No
m_
me
ssag
e
Co
nte
nu
_m
essa
ge
<a
i>N
um
ériq
ue
Ca
ractè
re (2
56
)
Ca
ractè
re (2
56
)
Id_
me
ssag
e
...
<a
i1>
Typ
e_
Me
ssag
e
Id_
type
_m
essa
ge
<a
i>N
um
ériq
ue
Id_
type
_m
essa
ge
<a
i1>
Utilisa
teu
r
Id_
Pro
fil
Ph
oto
_p
rofil
A_
pro
po
s_d
e_
mo
i
No
m_
pro
fil
<a
i>N
um
ériq
ue
Ima
ge
Ca
ractè
re (2
56
)
Ca
ractè
re (2
56
)
Id_
Pro
fil
...
<a
i1>
Typ
e_
Pro
fil
Id_
type
Visib
ilité_
pro
fil
<a
i>N
um
ériq
ue
Ca
ractè
re (2
56
)
Id_
type
...
<a
i1>
Eve
ne
me
nt
Id_
eve
ne
me
nt
No
m_
eve
ne
me
nt
Da
te_
eve
ne
me
nt
<a
i>N
um
ériq
ue
Ca
ractè
re (2
56
)
Da
te
Id_
eve
ne
me
nt
...
<a
i1>
Sta
tus_
Re
latio
n
Id_
statu
s
No
m_
rela
tion
<a
i>N
um
ériq
ue
Ca
ractè
re (2
56
)
Id_
statu
s
...
<a
i1>
No
tificatio
n
Id_
no
tificatio
n
No
m_
no
tificatio
n
Da
te_
no
tificatio
n
<a
i>N
um
ériq
ue
Ca
ractè
re (2
56
)
Da
te
Id_
no
tificatio
n
...
<a
i1>
Article
Id_
article
No
m_
article
Da
te_
article
Au
teu
r_a
rticle
Co
nte
nu
_a
rticle
<a
i>N
um
ériq
ue
Ca
ractè
re (2
56
)
Da
te
Ca
ractè
re (2
56
)
Ca
ractè
re (2
56
)
Id_
article
...
<a
i1>
Em
plo
i
Id_
em
plo
i
No
m_
em
plo
i
Lie
u_
em
plo
i
<a
i>N
um
ériq
ue
Ca
ractè
re (2
56
)
Ca
ractè
re (2
56
)
Id_
em
plo
i
...
<a
i1>
Fo
rma
tion
Id_
dip
lom
e
No
m_
dip
lom
e
Lie
u_
dip
lom
e
Pro
mo
tion
<a
i>N
um
ériq
ue
Ca
ractè
re (2
56
)
Ca
ractè
re (2
56
)
Da
te
Id_
dip
lom
e
...
<a
i1>
Ville
Id_
ville
Orig
ine
_ville
Ha
bita
t_ville
<a
i>N
um
ériq
ue
Ca
ractè
re (2
56
)
Ca
ractè
re (2
56
)
Id_
ville
...
<a
i1>
Alb
um
_p
ho
to
Id_
alb
um
No
m_
alb
um
Da
te_
alb
um
<a
i>N
um
ériq
ue
Ca
ractè
re (2
56
)
Da
te
Id_
alb
um
...
<a
i1>
Ph
oto
Id_
pu
blica
tion
Da
te_
pu
blica
tion
No
m_
type
Id_
ph
oto
No
m_
alb
um
Da
te_
alb
um
<a
i>
Nu
mé
riqu
e
Da
te
Ca
ractè
re (2
56
)
Nu
mé
riqu
e
Ca
ractè
re (2
56
)
Da
te
Id_
alb
um
...
<a
i1>
Co
mm
en
taire
Id_
com
me
nta
ire
Da
te_
Co
mm
en
taire
Co
nte
nu
_C
om
me
nta
ire
<a
i>N
um
ériq
ue
Da
te
Ca
ractè
re (2
56
)
Id_
com
me
nta
ire
...
<a
i1>
Fla
g
Id_
flag
No
m_
flag
<a
i>N
um
ériq
ue
Ca
ractè
re (2
56
)
Id_
flag
...
<a
i1>
No
te
Id_
no
te
No
te_
attrib
ue
<a
i>N
um
ériq
ue
Ré
el
Id_
no
te
...
<a
i1>
Vo
te
Id_
Vo
te
Vo
te_
na
me
<a
i>N
um
ériq
ue
Ca
ractè
re (2
56
)
Id_
Vo
te
...
<a
i1>
Pa
rtag
e
Org
an
ise
Cré
e
Pa
rticipe
Re
join
t
Su
it
Tra
vaille
Aim
e2
Aim
e3
Aim
e4
Aim
e
Vid
eo
Id_
pu
blica
tion
Da
te_
pu
blica
tion
No
m_
type
Id_
vide
o
Co
nte
nu
_te
xte
Da
te_
texte
<a
i>
Nu
mé
riqu
e
Da
te
Ca
ractè
re (2
56
)
Nu
mé
riqu
e
Ca
ractè
re (2
56
)
Da
te
Id_
vide
o
...
<a
i1>
Te
xte
Id_
pu
blica
tion
Da
te_
pu
blica
tion
No
m_
type
Id_
texte
Co
nte
nu
_te
xte
Da
te_
texte
<a
i>
Nu
mé
riqu
e
Da
te
Ca
ractè
re (2
56
)
Nu
mé
riqu
e
Ca
ractè
re (2
56
)
Da
te
Id_
texte
...
<a
i1>
De
stina
taire
Est ta
gé
2
est ta
gé
De
ma
nd
e_
ajo
ut R
ep
on
se_
ajo
ut
Id_
rep
on
se
Eta
t
<a
i>N
um
ériq
ue
Ca
ractè
re (2
56
)
Id_
rep
on
se
...
<a
i1>
34
IV. Analyse et conception
I. Modèle physique de données
fait
possède
Reçoit
Effectue
Donne
Envoie
Caractérisé_par2
Caractérisé_par
Est_en_relation2
Est_en_relation
Est_am
i
Rédige
Peut_créer
Com
posé_de
Appartient
Ecrit
a
Partage
Partage
Participe
Participe
Organise
Organise
Crée2
Crée
Crée
Crée
Rejoint2
Rejoint
Rejoint
Rejoint
Suit
Suit
Travaille
Travaille
Aim
e
Aim
e
Aim
eA
ime
Aim
e
Aim
e
Aim
e
Aim
e
Héritage
Destinataire
Destinataire
Est tagé
Est tagé
est tagé
est tagé
Dem
ande_ajout2
Dem
ande_ajout
Dem
ande_ajout
on va utilisé X pour que la publication sera ou bien video
ou bien texte ou bien photo
Am
i1A
mi2
Utilisateur_D
emandant
Utilisateur_R
ecepteur
Utilisateur_inscription
Em
ail_utilisateur
Nom
_utilisateur
Prenom
_utilisateur
Date_naissance_utilisateur
Sexe_U
tilisateur
Mot_de_passe
<ai>C
aractère (256)
Caractère (256)
Caractère (256)
Date
Caractère (256)
Caractère (256)
Em
ail_utilisateur
...
<ai1>
Publication
Id_publication
Date_publication
Nom
_type
<ai>N
umérique
Date
Caractère (256)
Id_publication
...
<ai1>
Groupe
Id_groupe
Nom
_groupe
Type_groupe
<ai><Indéfini>
<Indéfini>
<Indéfini>
Id_group
...
<ai1>
Page_Fan
Id_page
Nom
_page
Type_page
<ai>N
umérique
Caractère (256)
Caractère (256)
Id_page
...
<ai1>
Message
Id_message
Nom
_message
Contenu_m
essage
<ai>N
umérique
Caractère (256)
Caractère (256)
Id_message
...
<ai1>
Type_M
essage
Id_type_message
<ai>N
umérique
Id_type_message
<ai1>
Utilisateur
Id_Profil
Photo_profil
A_propos_de_m
oi
Nom
_profil
<ai>N
umérique
Image
Caractère (256)
Caractère (256)
Id_Profil
...
<ai1>
Type_P
rofil
Id_type
Visibilité_profil
<ai>N
umérique
Caractère (256)
Id_type
...
<ai1>
Evenem
ent
Id_evenement
Nom
_evenement
Date_evenem
ent
<ai>N
umérique
Caractère (256)
Date
Id_evenement
...
<ai1>
Status_R
elation
Id_status
Nom
_relation
<ai>N
umérique
Caractère (256)
Id_status
...
<ai1>
Notification
Id_notification
Nom
_notification
Date_notification
<ai>N
umérique
Caractère (256)
Date
Id_notification
...
<ai1>
Article
Id_article
Nom
_article
Date_article
Auteur_article
Contenu_article
<ai>N
umérique
Caractère (256)
Date
Caractère (256)
Caractère (256)
Id_article
...
<ai1>
Em
ploi
Id_emploi
Nom
_emploi
Lieu_emploi
<ai>N
umérique
Caractère (256)
Caractère (256)
Id_emploi
...
<ai1>
Formation
Id_diplome
Nom
_diplome
Lieu_diplome
Prom
otion
<ai>N
umérique
Caractère (256)
Caractère (256)
Date
Id_diplome
...
<ai1>
Ville
Id_ville
Origine_ville
Habitat_ville
<ai>N
umérique
Caractère (256)
Caractère (256)
Id_ville
...
<ai1>
Album
_photo
Id_album
Nom
_album
Date_album
<ai>N
umérique
Caractère (256)
Date
Id_album
...
<ai1>
Photo
Id_publication
Date_publication
Nom
_type
Id_photo
Nom
_album
Date_album
<ai>
Num
érique
Date
Caractère (256)
Num
érique
Caractère (256)
Date
Id_album
...
<ai1>
Com
mentaire
Id_comm
entaire
Date_C
omm
entaire
Contenu_C
omm
entaire
<ai>N
umérique
Date
Caractère (256)
Id_comm
entaire
...
<ai1>
Flag
Id_flag
Nom
_flag
<ai>N
umérique
Caractère (256)
Id_flag
...
<ai1>
Note
Id_note
Note_attribue
<ai>N
umérique
Réel
Id_note
...
<ai1>
Vote
Id_Vote
Vote_nam
e
<ai>N
umérique
Caractère (256)
Id_Vote
...
<ai1>
Partage
Organise
Crée
Participe
Rejoint
Suit
Travaille
Aim
e2
Aim
e3
Aim
e4
Aim
e
Video
Id_publication
Date_publication
Nom
_type
Id_video
Contenu_texte
Date_texte
<ai>
Num
érique
Date
Caractère (256)
Num
érique
Caractère (256)
Date
Id_video
...
<ai1>
Texte
Id_publication
Date_publication
Nom
_type
Id_texte
Contenu_texte
Date_texte
<ai>
Num
érique
Date
Caractère (256)
Num
érique
Caractère (256)
Date
Id_texte
...
<ai1>
Destinataire
Est tagé2
est tagé
Dem
ande_ajout Reponse_ajout
Id_reponse
Etat
<ai>N
umérique
Caractère (256)
Id_reponse
...
<ai1>
35
IV. Analyse et conception
F. Modélisation UML (Unified Modeling Language ) :
UML est un langage de modélisation graphique destiné à comprendre et
décrire des besoins, spécifier et documenter des systèmes, esquisser des
architectures logicielles, concevoir des solutions et communiquer des
points de vue.
Pour Faciliter la compréhension et la communication de la modélisation
des objets, On a pensé de faire une modélisation par UML
Cas d’utilisation : Use case ‘’ Utilisateur ‘’
Acteur primaire : utilisateur
36
Diagramme de scénario :
Les diagrammes de scénario sont crées afin de visualiser les relations
entre les acteurs et les scénarios.
Exemple : ‘’ Inscription au site web2.0 ‘’
‘’ Authentification’’
authentification
demande d'entrer le nom d'util isateur et
mot de passe
Remplir les informations
valider les données
gére son profil
Utilisateur
site web 2.0
demande d'entrer le nom d'util isateur et
mot de passe
Remplir les informations
valider les données
gére son profil
inscription dans une site
enregistrement
Validation
envoi d'un message pour validation
Remplir les informations
demande de remplissage des informations
Util isateur
site web 2.0
enregistrement
Validation
envoi d'un message pour validation
Remplir les informations
demande de remplissage des informations
37
V. Réalisation de la base de données sous Oracle
Nous avons créé les tableaux précédemment illustrés dans le modèle
logique de données :
38
39
40
41
42
VI. Quelques requêtes
Lister la liste des amis d’un utilisateur ‘’user1’’ :
Lister le nom d’album d’un utilisateur ‘’user1’’:
Afficher les informations du profil d’un utilisateur ‘’user1’’:
Afficher les commentaires récents d’un utilisateur ‘’user1’’:
43
Afficher les commentaires récents d’un utilisateur ‘’user1’’ :
Afficher le nombre des articles écrits par l’utilisateur ‘’user1’’ :
Afficher les noms des évènements organisés par l’utilisateur ‘’user1’’ :
Afficher les noms des pages dont l’utilisateur ‘’user1’’ est fan :
44
Afficher le nombre des groups où l’utilisateur ‘’user1’’ est membre :
Afficher le nombre de messages écrits par l’utilisateur ‘’user1’’ :
45
VII. Conclusion
Durant ce projet, notre mission consistait à créer une base de données
pour traiter les données sur un site de WEB 2.0.
Au cours de la période, on a eu l’opportunité de mettre en évidence les
différentes connaissances acquises et d’acquérir de nouveaux concepts {
savoir Oracle.
De plus, on a eu l’occasion de se familiariser { la modélisation d’un
système d’information et base de données { partir d’in cahier de charge, le
modèle sera concrétiser par la mise en place dans une base de données
oracle, afin de le familiariser avec les requêtes SQL.
La partie que nous avons développée correspond aux objectifs de départ ,
Mais ceci n’empêche pas d’améliorer l’application au futur .