Vous êtes sur la page 1sur 12

Page

Examen d’obtention du Brevet de Technicien Supérieur


2
Session Mai 2015
Centre National de l'Evaluation et des Examens
13
- Sujet -

Filière : Multimédia et Conception Web Durée: 5 Heures

Épreuve de : Etude de Cas Informatique Coefficient: 60

Présentation
Naturel Cosm est une société spécialisée dans la production et la vente de produits
cosmétiques à base de matières premières naturelles : Huile de massage d’Argan,
shampoing à base de Ghassoul, savon parfum au miel…
La société Naturel Cosm possède quatre sites situés dans trois villes :
 A Taroudant on trouve l’usine qui s’occupe de la production et le traitement des
commandes;
 A Agadir, siège de la société, sont installés deux services :
- le service logistique assurant le suivi des stocks et les commandes de matières
premières auprès des fournisseurs ;
- le service marketing s’occupant de la publicité, le développement de nouveaux produits
et l’analyse des ventes.
 A Marrakech, se trouve un dépôt de prétraitement des matières premières.

Vu la dispersion géographique des sites de la société Naturel Cosm, cette dernière


rencontre des difficultés dans ses échanges d’informations au quotidien.
Pour cela, elle a décidé de mettre en place une application centralisée hébergée dans un
Intranet, accessible via une interface Web.
Cette application permet de couvrir tous les besoins de la société à savoir:
- La consultation et la mise à jour de la base de données en temps réel;
- L'échange de données avec les fournisseurs;
- La sécurisation des accès et la mise à jour de la base à partir d'un système externe;
- La mise en place d'un outil d'analyse des ventes par région et par catégorie de produits.
Page
Sujet de l’Examen National d’obtention du Brevet de Technicien Supérieur - Session Mai 2015

3
Filière : Multimédia et Conception Web Épreuve de: Etude de cas Informatique
13

Dossier 1 Analyse du système d'information

Suivi du stock et analyse des ventes


Pour éviter une grande complexité, on se limitera aux hypothèses suivantes :
• le service marketing désire consulter la répartition des ventes par catégories de produits et
par région, pour une période donnée ;
• le service logistique souhaite pouvoir suivre l’évolution des stocks de produits.
Après analyse du système d’information de Naturel Cosm, on a dégagé les règles de
gestion suivantes :
- Chaque catégorie a un identifiant et un libellé.
- Un produit est rattaché à une catégorie et possède un identifiant, une désignation et une
description.
- Pour le suivi du stock des différents produits, le système d'information doit enregistrer les
mouvements en stock de ces produits, pour chaque mouvement on enregistre la date et la
quantité du produit en mouvement.
- Naturel Cosm commercialise ses produits dans plusieurs régions. Chaque région a un
identifiant et un nom en plus du nombre d'habitants.
- La société est engagée dans une démarche qualité et souhaite améliorer la force de vente
des différentes catégories de produits dans toutes les régions du pays. Pour cela, pour
chaque mois, on enregistre le montant de ventes. Une vente a un identifiant et concerne
une région et une catégorie de produit.

TRAVAIL A FAIRE
1.1 A partir des règles de gestion citées précédemment, établir un modèle conceptuel
de données (Entité-Association) du suivi du stock et de l'analyse des ventes.
(8 points)
1.2 En déduire le modèle logique de données correspondant. (4 points)

Pour la gestion des commandes fournisseurs, on utilise les tables suivantes :


Fournisseur (IdFournisseur, Nom)
Commande (IdCommande, #IdFournisseur,DateLivraison, Livree)
ligneCommande (IdLigneCommande, #IdCommande, Designation, Quantite)

Les champs soulignés représentent les clés primaires et sont des entiers auto_incrémentés,
ceux préfixés par # représentent les clés étrangères.

Champ Type Taille Remarques


IdFournisseur Entier 4
DateLivaison DateHeure 8 Exemple : 25/12/2014
Livree Entier 1 1 = livrée, 0 = non livrée
IdLigneCommande Entier 4
Designation Alphabétique 50
Quantite Entier 4
Page
Sujet de l’Examen National d’obtention du Brevet de Technicien Supérieur - Session Mai 2015

4
Filière : Multimédia et Conception Web Épreuve de: Etude de cas Informatique
13

TRAVAIL A FAIRE
1.3 Écrire les requêtes SQL permettant de répondre à ce qui suit :
a – La liste des fournisseurs dont le nom commence par "abd". (1 pt)
b – La liste des commandes livrées avant le 1 janvier 2015. (1 pt)
c – Les lignes de commandes de la commande ayant l'Id 9978. (1 pt)
d – Le nombre de commandes par nom de fournisseur. (1 pt)

Définition de classes
Lors de l'analyse du système d'information de la société Naturel Cosm, on a relevé les
classes Personne, Employe, Client et Fournisseur, les trois dernières classes sont liées à
Personne par une relation d’héritage public simple.
Dans cette partie, on se propose de créer les classes Personne et Client.

La classe Personne contiendra :


Les données privées :
- num : de type entier attribué automatiquement lors de la création, (compteur statique) on
suppose que la numérotation commence à 1001 ;
- nom : de type chaîne de caractères ;
- adresse : de type chaîne de caractères représentant l'adresse de la personne.
Dans sa partie publique :
- Un constructeur avec paramètres qui permet d’initialiser le nom et l'adresse de la
personne ainsi que de lui attribuer un numéro;
- Un constructeur de copie;
- Une méthode Afficher qui affiche les informations de la personne.

La classe Client hérite de la classe Personne et regroupera :


- La donnée membre privée CA représentant le chiffre d’affaire d’un client ;
- La donnée membre privée statique nbClients représentant le nombre de client crées;
Les méthodes :
- Un constructeur avec paramètres qui initialise CA à 0;
- Vente : recevant le montant vendu à un client, et l’ajoute au chiffre d’affaire ;
- TotalVentes : qui retourne le chiffre d’affaire;
- NbreClients : méthode statique retournant le nombre de clients crées;
- Afficher : qui redéfinit la méthode Afficher de personne et affiche aussi le chiffre d'affaire
des ventes.

TRAVAIL A FAIRE
1.4 Écrire le code des deux classes Personne et Client(En Java ou en C++). (14 points)
Page
Sujet de l’Examen National d’obtention du Brevet de Technicien Supérieur - Session Mai 2015

5
Filière : Multimédia et Conception Web Épreuve de: Etude de cas Informatique
13

Dossier 2 Réseau informatique de la société Naturel Cosm

Le schéma du réseau de la société est donné en annexe 2. Il est constitué des réseaux
suivants :
 Trois réseaux locaux :
- Réseau 1 installé dans l’usine de Taroudant.
- Réseaux 2 et 3 installés chacun dans chaque service du siège d’Agadir.
- Réseau 4 installé dans le dépôt de prétraitement de la matière première à
Marrakech.
 Deux réseaux étendus : ce sont les liaisons entre les routeurs R0-R1 et R0-R2.
Chaque réseau local est câblé à l’aide d’un concentrateur et des câbles à paires torsadées.
L’adressage des réseaux locaux est obtenu par découpage d’une adresse intranet
172.17.0.0/16.
Pour faciliter l’administration du réseau 2 on a configuré un serveur DHCP.
Dans le réseau du siège à Agadir on a configuré un serveur DNS.

TRAVAIL A FAIRE
2.1 Donner la topologie utilisée dans chaque réseau local. (2 points)
2.2 a- Peut-on remplacer les concentrateurs par des commutateurs ? (1 point)
b- Spécifier la différence entre ces deux équipements. (1 point)
2.3 a- Donner le type de la liaison du câble RJ45 (droite ou croisée). (1 point)
b- Justifier. (1 point)
2.4 Pour chaque réseau local donner l’adresse de sous-réseau, la plage des adresses
IP valides, l’adresse de diffusion et le masque de sous-réseau. (4 points)
2.5 a- Donner le principe du protocole DHCP. (1 point)
b- Spécifier les paramètres de configuration du serveur DHCP. (2 points)
c- Spécifier la configuration à effectuer au niveau des clients. (2 points)
2.6 a- Donner l’intérêt du service DNS. (1 point)
b- Donner et comparer les différents types de requêtes DNS. (2 points)
c- Donner les différents types d’enregistrements qu’on configure dans un serveur
DNS. (2 points)
Page
Sujet de l’Examen National d’obtention du Brevet de Technicien Supérieur - Session Mai 2015

6
Filière : Multimédia et Conception Web Épreuve de: Etude de cas Informatique
13

Dossier 3 Interface Web de Naturel Cosm

Pour faciliter la gestion du stock à partir des différents sites de la société, on se


propose de réaliser une application Web qui sera hébergée dans l’intranet de la société.
Cette application permettra :
- Le suivi du stock (opérations d’entrées et de sorties) ;
- L’opération des ventes.
Pour des raisons de sécurité et de confidentialité, l’accès à l’application Web sera réservé
aux utilisateurs autorisés.

Authentification des utilisateurs


En phase de développement, on a utilisé un serveur Web local dont les paramètres
de connexion sont :
Login : natAdmin, mot de passe : cosm2015.
La base de données MySql est intitulée : natCosmBase.

TRAVAIL A FAIRE
3.1 Ecrire le fichier connexion.php, qui contiendra les instructions de connexion au
serveur et de sélection de la base de données, qu’on inclura en cas de besoin.
(4 points)

Dans la base de données, la table Utilisateurs, renferme les informations des


utilisateurs ayant le droit d’accéder à l’application. Cette table a le schéma suivant :
Utilisateurs (IdUser, login, MotPasse, nom)
Le champ login est unique.

L’annexe 3.a présente le formulaire formAuthentification.html invitant l’utilisateur à


saisir son login et son mot de passe et qui renvoie vers la page authentification.php.
Le script de la page authentification.php recherche si les données saisies par l’utilisateur
existent dans la table Utilisateur. En cas d’existence, on enregistre son nom dans une
variable de session et on se redirige vers la page accueil.php (cette page n’est pas
demandée). Dans le cas contraire on revient sur le formulaire d’authentification.

TRAVAIL A FAIRE
3.2 a- Ecrire le code de la page formAuthentification.html. (3 points)
b- Ecrire le script du fichier authentification.php. (5 points)

Module de suivi des stocks


Le module de suivi des stocks permet :
• L’affichage de la liste des produits filtrés par catégorie;
• L’affichage de l’historique des mouvements d’un produit en stock.
Page
Sujet de l’Examen National d’obtention du Brevet de Technicien Supérieur - Session Mai 2015

7
Filière : Multimédia et Conception Web Épreuve de: Etude de cas Informatique
13

Pour cela, on utilisera les tables suivantes:


Categorie ( IdCat, LibelleCat )
Produit ( IdProduit, Code , Designation , #IdCat)
MouvementStock (IDMouvement, DateMouvement, Quantite, #IdProduit)

Les champs soulignés représentent les clés primaires et sont des entiers auto_incrémentés,
ceux préfixés par # représentent les clés étrangères.

Le champ DateMouvement est de type chaîne de caractères représentant le mois et l'année


du mouvement, elle est de la forme suivante: mois/année, exemple "07/2014".

Le champ Quantite est de type entier représentant la quantité du mouvement du stock d'un
produit, elle est positive pour un ajout au stock (Entrée) et est négative pour un retrait du
stock (Sortie).

L’annexe 3b présente la page listeProduits.php qui permet la consultation du stock


des différents produits par catégorie. La liste déroulante permet de choisir une des
catégories extraites de la table Categorie. Lorsqu’on choisit une catégorie et on clique sur le
bouton "Afficher Produits", on obtient en dessous la liste des produits de la catégorie
sélectionnée.
Pour le premier affichage de la page, on liste les produits de la première catégorie.
Le lien "Historique Mouvements" correspondant à un produit, surchargé avec IdProduit ,
renvoie vers la page historiqueStocks.php de l’annexe 3c.

TRAVAIL A FAIRE
3.3 Ecrire le code de la page listeProduits.php. (10 points)

la page historiqueStocks.php , de L’annexe 3c, affiche l'historique des mouvements


du stock du produit choisi dans la page listeProduits.php de l'annexe 3b.
En haut de la page, on affiche un titre mentionnant la désignation du produit. Puis le
tableau affiche l'historique des mouvements du produit sélectionné avec le total des entrées
et des sorties.
Enfin en bas de la page, on affiche le stock actuel du produit.

TRAVAIL A FAIRE
3.4 Ecrire le code de la page historiqueStocks.php. (9 points)
Page
Sujet de l’Examen National d’obtention du Brevet de Technicien Supérieur - Session Mai 2015

8
Filière : Multimédia et Conception Web Épreuve de: Etude de cas Informatique
13

Module d’analyse des ventes


Par la suite, on désire exporter les résultats des ventes par catégorie et pour une
période donnée vers une autre application utilisée par Naturel Cosm sous format XML.
Pour cela, on exploitera les tables:
Categorie ( IdCat, LibelleCat )
Vente (IdVente, CodeMois, Montant, #IdCat)

CodeMois est une chaîne de caractères formée par la concaténation de l'année et le


mois, exemple "05/2014" qui représentent la période du mois 5 de l'année 2014.
Montant est de type réel représentant le montant de la vente.

L’annexe 3d présente la page periodeVentes.php dans laquelle un formulaire permet


le choix de la période des ventes. La liste déroulante relative au choix de l’année est remplie
avec les valeurs comprises entre 2010 et 2020.
Le bouton "Exporter " de ce formulaire renvoie vers la page ExporterVentes.php

TRAVAIL A FAIRE
3.5 Ecrire le code de la page periodeVentes.php. (4 points)

L’annexe 3e montre le fichier XML résultat de l’exportation, ce dernier contient :


- Un élément racine ventes;
- Un élément periode enfant de l’élément racine représentant la période sélectionnée;
- Des éléments categorie, Chaque élément categorie contient :
 Un élément libelle représentant le libellé de la catégorie;
 Un élément total représentant le total des montants des ventes de la catégorie
durant la période sélectionnée.

TRAVAIL A FAIRE
3.6 Ecrire le script du fichier exporterVentes.php qui permet de générer le fichier
ventesParCategories.xml ayant le format de l’annexe 3e. (8 points)

Pour la promotion de ses produits, Naturel Cosm édite un catalogue dédié à la publicité.
L’annexe 3f présente ce catalogue sous format PDF.

TRAVAIL A FAIRE
3.7 Ecrire le script du fichier catalogue.php permettant de générer le PDF de l'annexe
3f. (7 points)
Page
Sujet de l’Examen National d’obtention du Brevet de Technicien Supérieur - Session Mai 2015

9
Filière : Multimédia et Conception Web Épreuve de: Etude de cas Informatique
13

Annexe 2 : Réseau de la société

Réseau 2 Réseau 1
Serveur C1
DHCP R2

R0
Réseau 4
C3

C2 R1

R3

Réseau 3

Serveur Serveurs
DNS HTTP, FTP

R0, R1, R2 et R3 : routeurs.


C1, C2, C3 et C4 : concentrateurs.
Page
Sujet de l’Examen National d’obtention du Brevet de Technicien Supérieur - Session Mai 2015

10
Filière : Multimédia et Conception Web Épreuve de: Etude de cas Informatique
13

Annexe 3a : Formulaire d’authentification

Annexe 3b : Liste des produits par catégorie


Page
Sujet de l’Examen National d’obtention du Brevet de Technicien Supérieur - Session Mai 2015

11
Filière : Multimédia et Conception Web Épreuve de: Etude de cas Informatique
13

Annexe 3c : Historique du stock d'un produit

Annexe 3d : Choix de la période de ventes


Page
Sujet de l’Examen National d’obtention du Brevet de Technicien Supérieur - Session Mai 2015

12
Filière : Multimédia et Conception Web Épreuve de: Etude de cas Informatique
13

Annexe 3e : Ventes par catégorie et pour une période donnée

<?xml version='1.0' encoding='iso-8859-1' ?>


<ventes>
<periode>03-2014</periode>
<categorie>
<libelle>Huiles d’Argan</libelle>
<total devise='DH'>50489</total>
</categorie>
<categorie>
<libelle>Shampoings</libelle>
<total devise='DH'>47077</total>
</categorie>
<categorie>
<libelle>Savons</libelle>
<total devise='DH'>56123</total>
</categorie>
</ventes>

Annexe 3f : Aperçu du fichier catalogue.pdf


Page
Sujet de l’Examen National d’obtention du Brevet de Technicien Supérieur - Session Mai 2015

13
Filière : Multimédia et Conception Web Épreuve de: Etude de cas Informatique
13

Annexe 3g : Méthodes usuelles de la classe FPDF


Cell
Cell(float w [, float h [, string txt [, mixed border [, int ln [, string align [, int fill [, mixed link]]]]]]])
Imprime une cellule (zone rectangulaire) avec éventuellement des bords, un fond et une chaîne de
caractères. Le coin supérieur gauche de la cellule correspond à la position courante. Le texte peut
être aligné ou centré. Après l'appel, la position courante se déplace à droite ou un retour à la ligne
est effectué. Il est possible de mettre un lien sur le texte. Si le saut de page automatique est activé et
que la cellule dépasse le seuil de déclenchement, un saut de page est effectué avant de l'imprimer.

SetFont
SetFont(string family [, string style [, float size]]): Fixe la police utilisée pour imprimer les chaînes de
caractères. Il est obligatoire d'appeler cette méthode au moins une fois avant d'imprimer du texte,
sinon le document résultant ne sera pas valide. La police peut être soit une police standard, soit une
police ajoutée à l'aide de la méthode AddFont(). Les polices standard utilisent l'encodage Windows
cp1252 (Europe de l'ouest).
La méthode peut être appelée avant que la première page ne soit créée et la police est conservée de
page en page. Si vous souhaitez juste changer la taille courante, il est plus simple d'appeler
SetFontSize().

Ln
Ln([float h]) : Effectue un saut de ligne. L'abscisse courante est ramenée à la valeur de la marge
gauche et l'ordonnée augmente de la valeur indiquée en paramètre.

Output
string Output([string name [, string dest]]): Envoie le document vers une destination donnée : chaîne
de caractères en mémoire, fichier local ou navigateur. Dans ce dernier cas, on peut utiliser le plug-in
(s'il est présent) ou forcer la boîte de téléchargement de fichier. La méthode commence par appeler
Close() si nécessaire pour terminer le document.

SetFontSize
SetFontSize(float size): Fixe la taille de la police courante.

SetXY
SetXY(float x, float y): Fixe l'abscisse et l'ordonnée de la position courante. Si les valeurs transmises
sont négatives, elles sont relatives respectivement aux extrémités droite et basse de la page.

FPDF
FPDF([string orientation [, string unit [, mixed format]]]): Il s'agit du constructeur de la classe. Il
permet de fixer le format des pages, leur orientation par défaut ainsi que l'unité de mesure utilisée
dans toutes les méthodes (sauf pour les tailles de police).

Close
Close() : Cette méthode termine le document PDF. Il n'est pas nécessaire de l'appeler explicitement
car Output() le fait automatiquement. Si le document ne contient aucune page, AddPage() est appelé
pour éviter d'obtenir un document invalide.

Vous aimerez peut-être aussi