Vous êtes sur la page 1sur 2

M1 Informatique

Systèmes de gestion de documents

TD 3 : e-commerce
Site de joaillerie

On s'intéresse au développement d'une base de données MongoDB et des fonctionnalités nécessaires pour le
développement d'un site de vente ligne de joaillerie comme le site gemmyo.com dont quelques images écran sont
données en annexe.
On s'intéresse particulièrement à la modélisation des informations concernant les bijoux proposés par le site,
l'inventaire des bijoux qui sont en stock et des analyses sur les ventes réalisées.

Le site propose différents types de bijoux comme des bagues, des bracelets ou des pendentifs. Certains bijoux
sont des bijoux standard, au sens où ils ont un métal et le cas échéant une ou des pierres fixes, d'autres bijoux
dits de créateur sont créés à la demande, après sélection par des différents critères comme pour une bague sa
taille, la pierre principale, le métal de la monture (or blanc, or rose, or jaune, argent), etc. Des stocks sont
disponibles pour les bijoux standard tandis les bijoux de créateur sont fabriqués sur commande.

Il existe deux catégories de bijoux : ceux dits de petite joaillerie pour des bijoux plus simples et moins onéreux, et
des bijoux dits de joaillerie pour des bijoux plus travaillés et onéreux.
Chaque bijou fait partie d'une collection et a un nom propre dans cette collection.
Le prix d'un bijou peut être fixe si le bijou est standard, il varie selon les critères choisis pour les bijoux de créateurs.

Par exemple pour une bague de créateur, les informations suivantes sont gérées : la collection, le nom de la bague
dans cette collection, sa monture avec le métal, et la taille, sa pierre principale avec le type de sertissure, le type
de la pierre, le nombre de ses pierres si la bague en comporte plusieurs.
Une bague standard n'est pas personnalisable excepté pour le choix de la taille de la bague.
Les bracelets sont des bracelets standard non personnalisables. Ils sont identifiés par des informations similaires
comme la collection, le nom du bracelet dans la collection, les informations sur la monture avec la taille du bracelet,
et le cas échéant les informations sur la pierre principale.

On s'intéresse dans un premier temps à la modélisation des informations concernant les bagues. Une bague est
une sorte de bijou, qui peut être une bague de créateur avec une monture, une ou plusieurs pierres, dont une
pierre principale ou une bague standard avec également une monture mais qui peut ne pas avoir de pierre, ou
bien avoir une pierre fixe (non personnalisable).

1. Proposer un diagramme UML de classes permettant de modéliser les informations concernant les
bagues disponibles dans le catalogue.

On souhaite mettre en place une base de données NoSQL, mongoDB pour la gestion des informations des
bijoux proposés dans le catalogue et on s'intéresse dans un premier temps à la spécification de documents
décrivant les bagues du catalogue.

2. Proposer une forme de document MongoDB pour représenter une bague avec les caractéristiques
suivantes
a. Bague de joaillerie, de la collection Lady, de nom Bague Lady, avec une monture avec un choix
de métal possible (Or blanc, Or jaune, Argent, Platine), une taille au choix comprise entre 45 et
60, une pierre avec un choix de type de pierre possible (Diamant, Saphir, Grenat ou Rubis), et
un type de sertissure.
b. Bague de petite joaillerie, de la collection Miaou, de nom Bague Miaou, avec une monture avec
un métal d'or jaune, une taille au choix comprise entre 45 et 60, et pas de pierre.
c. Bague de petite joaillerie, de la collection Gemmiaou, de nom Bague Gemmiaou, avec une
monture avec un métal d'or blanc, une taille au choix comprise entre 45 et 60, et une pierre de
type Diamant, et une sertissure de type Serti grain.

3. Discuter des informations à gérer pour gérer le catalogue, les ventes, ou l'inventaire des stocks.
a. Quelles sont les fonctionnalités possibles attendues pour le catalogue, les ventes réalisées ou
l'inventaire ?
b. Quelles sont les collections à spécifier ?
4. Dans un premier temps, on s'intéresse uniquement à la modélisation des collections pour le catalogue,
avec des collections propres à chaque type de bijou et notamment les bagues en se basant sur les
modèles de documents de la question 2.
a. En quoi cette collection de bagues peut-elle être considérée comme respectant
i. Le principe d'imbrication et non l'usage de références
ii. Un schéma polymorphique de façon proche des techniques de POO

5. Création d'indexes
a. Créer un index sur le nom de la collection, pour optimiser la recherche des bijoux d'une
collection donnée
b. Rappeler les commandes pour lister les indexes définis sur une collection, ou supprimer un
index sur une collection
c. Créer un index multiple sur la catégorie et sur la collection

6. En supposant que l’on ait créer une collection vente qui décrit les bagues vendues avec leur prix,
donner un exemple de document de cette collection et donner une requête à l'aide du mécanisme
MapReduce, permettant de calculer le prix moyen d'un bijou d'une collection donnée, en vous aidant du
CM.

Vous aimerez peut-être aussi