Vous êtes sur la page 1sur 5

Filire: Dveloppement des Systmes dInformation (2 Contrle : Etude de cas U5 : Dveloppement d'Applications Informatiques

me

anne)

Page

1 5

Nous considrons ici une entreprise appele SRC2 qui vend des produits informatiques en ligne. On propose le diagramme de classe en annexe 1 :
PARTIE 1 : POO (JAVA)

On sintresse la gestion des clients. 1- Un client est dfini par : Un id qui est incrment automatiquement pendant la cration du client, selon le nombre de clients crs. Le nom du client Le prnom du client Pour crer un client, il faut prciser son nom et son prnom. Son id est dfini automatiquement. La mthode toString() retourne une chane de caractres qui contient lid , le nom et la prnom du client. Les autres mthodes sont les getters et les setters : getNom(), setNom, getPrenom(), setPrenom(), getNbClients et getId_Client(). Les Clients cres seront srialiss. Ecrire le code java permettant dimplmenter la classe Client. 2- On suppose quun salari de lentreprise SRC2 peut tre aussi un client interne, ainsi il sera modlis par la classe ClientInterne qui hritera de la classe Client. Un ClientInterne est un Client qui a en plus : Le salaire (rel). Lattribut clientFiele qui indique la fidlit du client (true ou false) Pour crer un ClientInterne, il faut prciser son salaire. Le constructeur de cette classe fait appel au constructeur de la classe parente et puis initialise lattribut clientFiele true. Surcharger la mthode toString() de la classe mre

Ecrire le code java permettant dimplmenter la classe ClientInterne. 3- On dsire afficher la liste des clients enregistrs dans un fichier Clients.dat , pour cela on utilisera la classe ListeClient qui drive de JFrame contenant un JTable table. Ecrire les mthodes suivantes de la classe ListeClient : void initialiserTable() : qui permet de crer le JTable table dans le formulaire. void charger( ) : qui charge les donnes des client du fichier vers une collection ArrayList. void remplirTable() : qui remplit le JTable table depuis la collection.

INSTITUTION SEMLALI POUR L'EDUCATION ET L'ENSEIGNEMENT PRIVE Centre des Classes de Prparation au BTS - 2011/2012 -

Filire: Dveloppement des Systmes dInformation (2 Contrle : Etude de cas U5 : Dveloppement d'Applications Informatiques

me

anne)

Page

2 5

PARTIE 2 : ENVIRONNEMENTS DE DEVELOPPEMENTS INTEGRES (VB.NET)

On dsire dvelopper une application pour faciliter la gestion des commandes. Pour cela, on a implment la base de donnes mysql SRC2(voir lannexe 2). Sachant que la chane de connexion une base de donnes mysql est : Provider=MySQL Provider; Data Source=MySQLServerIP; User ID =MyID; Password=MyPassword; Initial Catalog=DatabaseName; Avec MySQLServerIP est ladresse IP de serveur de base de donnes MySQL example: 127.0.0.1,6306 o 6306 est le port de connexion. MyID/MyPassword : nom dutilisateur et le mot de passe. DatabaseName: le nom de la base de donnes. Linterface est la suivante :

A. Connexion la base de donnes 1) On peut manipuler une base de donnes en mode connect ou en mode dconnect. Quelle est la diffrence entre les deux ? 2) Ecrire la dclaration des objets ncessaires pour se connecter et manipuler la base de donnes en mode connect. B. Manipulation des donnes Ecrire le code VB.NET des procdures suivantes: 1) frm_Saisie_Load() pour remplir le comdo_Id_client(la liste des IDs Clients) puis le combo_id_Produit (la liste des IDs Produits). 2) BTnCom_Click () pour vider les zones de texte et prparer l'ajout d'une nouvelle commande. 3) comb_codClient_SelectedIndexChanged() associer la liste droulante(Combox de lid client) pour rechercher un client suivant lId slectionn dans la liste (combox) puis afficher son nom et son prnom.

INSTITUTION SEMLALI POUR L'EDUCATION ET L'ENSEIGNEMENT PRIVE Centre des Classes de Prparation au BTS - 2011/2012 -

Filire: Dveloppement des Systmes dInformation (2 Contrle : Etude de cas U5 : Dveloppement d'Applications Informatiques

me

anne)

Page

3 5

PARTIE 3 : PROGRAMMATION CLIENT/SERVEUR

Cette partie a pour objectif la mise en place un programme pour la gestion de commandes en architecture Client/serveur. Ce programme doit utiliser un protocole de communication bien dfini entre les clients et les serveurs. Cette communication entre clients et serveurs doit tre base sur la technologie Java RMI. Architecture du systme informatis (la figure suivante): Le vendeur possdant plusieurs boutiques, on souhaite mettre en place un systme informatique compos des lments suivants : un serveur central situ dans une zone non accessible au public ; des postes clients rpartis dans chacune des boutiques. Les postes clients doivent permettre, grce une interface homme-machine approprie (qui sera simule ici sous forme dune zone de saisie en mode caractres), de raliser les diffrentes oprations prvues. Le serveur central a la charge de lensemble des donnes de la boutique (stock et commandes). Les donnes manipules par le serveur sont de nature persistante, cest--dire quelles doivent survivre lexcution de lapplication. Pour assurer la persistance de ces donnes, nous les stockerons dans un fichier. Le principe consiste alors charger ce fichier en mmoire pour traiter chaque requte client, puis de sauvegarder ces fichiers aprs chaque mise jour. Nous limitons notre tude la manipulation de la liste des clients enregistrs dans le fichier Clients.dat utilis dans la partie 1. Le programme client permettra lajout, daffichage, de modification et la suppression des informations sur un client (acheteur) sur le serveur.

Le serveur maintient jour le fichier Clients.dat .

Travail Faire : 1) Sagit-t-il de quel le type darchitecture client/serveur? justifier votre rponse. 2) Quel est lavantage la technologie RMI par rapport aux sockets? 3) Proposer la classe serveur permettant dinstancier lobjet qui maintient jour le fichier Clients.dat , puis mettre cet objet dans lannuaire RMI. 4) Citer les tapes (algorithmes) implmenter dans le programme client. Le code correspondant nest pas crire.

INSTITUTION SEMLALI POUR L'EDUCATION ET L'ENSEIGNEMENT PRIVE Centre des Classes de Prparation au BTS - 2011/2012 -

Filire: Dveloppement des Systmes dInformation (2 Contrle : Etude de cas U5 : Dveloppement d'Applications Informatiques

me

anne)

Page

4 5

PARTIE 4 : DEVELOPPEMENT WEB

Lentreprise SRC2 souhaite dvelopper son site web de vente. On suppose constitue la base de donnes MySQL appele SRC2 comprenant quatre tables : Produits, Clients, Commandes, Lignes_Commandes (Voir lannexe 2). 1) Faites une fonction connexion charge de se connecter la base de donnes (hte : localhost, login : root, mot de passe : SRC2PHP) et de slectionner la base de donnes SRC2 2) Faites une fonction affiche_clients() qui permet dafficher, sous forme de tableau HTML, tous les clients entrs dans la base (une ligne par client, une colonne pour lidentifiant, une pour le nom, une pour le prnom). 3) a) Faites une fonction ajout_produit($num,$nom,$prix,$quantite) qui permet dajouter un produit de numro $num, de nom $nom, de prix $prix et de quantit $quantit dans la base de donnes. Voici le code du formulaire qui permet dajouter un produit dans la base : <form action="<?php $_SERVER["PHP_SELF"] ?>" method="post"> <fieldset> <legend>Rajouter un produit</legend> <table> <thead> <td>Numro</td> <td>Nom</td> <td>Prix</td> <td>Quantit</td> <td></td> </thead> <tr> <td><input type="texte" name="numero" value=""></td> <td><input type="texte" name="nom" value=""></td> <td><input type="texte" name="prix" value=""></td> <td><input type="texte" name="quantite" value=""></td> <td><input type="submit" value="Ajouter"/></td> </tr> </table> </fieldset> </form> b) Dessinez le formulaire comme il apparat lcran. c) Avec quelles variables faut-il appeler la fonction ajout_produit() pour ajouter le produit que lutilisateur vient de rentrer dans le formulaire ci-dessus?

INSTITUTION SEMLALI POUR L'EDUCATION ET L'ENSEIGNEMENT PRIVE Centre des Classes de Prparation au BTS - 2011/2012 -

Filire: Dveloppement des Systmes dInformation (2 Contrle : Etude de cas U5 : Dveloppement d'Applications Informatiques

me

anne)

Page

5 5

Annexe 1 : Le diagramme de classe

Annexe 2 : La base de donnes SRC2


La base de donnes MySQL appele SRC2 comprenant les quatre tables suivantes: Produits, Clients, Commandes, Lignes_Commandes. La table Produits a quatre champs : un numro entier didentification, id_produit, un nom (ex : clavier) nom, un entier prix, qui reprsente le prix du produit (ex : 15 euros), et un entier quantit qui donne pour chaque produit la taille du stock (ex : 6 sil reste 6 claviers en stock). La table Clients a trois champs : id_client, nom, prenom qui reprsentent respectivement le numro didentification du client, son nom, et son prnom. La table Commandes a 4 champs : un numro didentification id_commande, un numro didentification du client qui passe la commande id_client, la date de la commande date_Comande et le montant de la commande montant. La table Ligne_Commande a trois champs : un numro didentification id_commande, un numro didentification du client qui passe la commande id_client et la quantit du produit command quantite_commande.

INSTITUTION SEMLALI POUR L'EDUCATION ET L'ENSEIGNEMENT PRIVE Centre des Classes de Prparation au BTS - 2011/2012 -