Vous êtes sur la page 1sur 38

Contexte Mondial 2014 - BTS-SIO2/SLAM 1

Mondial 2014 ResaPlace

Avant-propos
Ce contexte Mondial 2014 incluant le projet applicatif ResaPlace a t cr de toute pice au Lyce Louis Armand Paris 15e, par le corps enseignant et les tudiants de 2e anne de BTSSIO option SLAM, dans le cadre de nombreux PPE et cours de spcialit en travaux individuels et collectifs, pour les besoins de lpreuve pratique E4.

Table des matires


La FIFA ............................................................................................................................................................ 2 La coupe du monde de football 2014 au Brsil ............................................................................................... 2 Le systme dinformation de la FIFA............................................................................................................... 3 Le projet ResaPlace ........................................................................................................................................ 4 Cahier des charges de lapplication ResaPlace .............................................................................................. 4 Solution technique propose ........................................................................................................................... 6 Plan Projet ....................................................................................................................................................... 8 Spcifications fonctionnelles et techniques .................................................................................................... 9 Bibliothque de classes mtier ..................................................................................................................... 31 Architecture de la solution ............................................................................................................................. 32 Prsentation du programme .......................................................................................................................... 34

Contexte Mondial 2014 - BTS-SIO2/SLAM 2

La FIFA
La Fdration Internationale de Football Association (FIFA) est une association de Droit Suisse fonde en 1904 dont le sige se situe Zurich. 208 associations nationales la composent. Son but, nonc dans les statuts, est d'amliorer constamment le football travers diffrentes actions. La FIFA compte quelque 310 employs venant de plus de 35 pays et s'organise comme suit : le Congrs (organe lgislatif), le Comit Excutif (organe excutif), Secrtariat Gnral (organe administratif) et Commissions (assiste le Comit Excutif). L'administration de la FIFA est du ressort du Secrtariat Gnral, qui emploie environ 400 personnes Zurich en Suisse. A sa tte, le Secrtaire Gnral de la FIFA est charg de mettre en uvre les dcisions du Comit Excutif de la FIFA. Le Secrtaire Gnral est galement responsable des finances, des relations internationales ainsi que de l'organisation de la Coupe du Monde de la FIFA et des autres comptitions organises par cette dernire. Le Secrtariat Gnral est compos de plusieurs divisions, charges du dveloppement, des comptitions, du football, des finances, de l'conomie, des ressources humaines, des services et de la communication. Pour les besoins de notre projet informatique simul, nous supposons que le Secrtariat Gnral et aussi responsable des projets informatiques lis aux grands vnements comme la prochaine coupe du monde de football 2014 au Brsil.

La coupe du monde de football 2014 au Brsil


La Coupe du Monde de la FIFA est un vnement exceptionnel. Tous les quatre ans, des fans venus des quatre coins du monde affluent dans le pays hte pour suivre en direct les 64 matches de la phase finale. Les 32 quipes nationales slectionnes lissue des preuves qualitatives (o 204 quipes sont candidates) vont pouvoir saffronter selon un calendrier trs serr de 64 rencontres du 12 Juin au 13 Juillet 2014 au Brsil et consultable sur le site Internet www.FIFA.com. Les 12 stades retenus pour ce Mondial 2014 se rpartissent sur le Brsil comme indiqu dans lillustration ci-dessous. Le match inaugural aura lieu le 12 juin So Paulo 17h00 (22h00 CET). Plus de 800 htels ont dj t rpertoris sur le site de la FIFA pour pouvoir accueillir les quelques 600 000 visiteurs attendus dans les 12 villes participantes.

Contexte Mondial 2014 - BTS-SIO2/SLAM 3

Le systme dinformation de la FIFA


Le systme dinformation de la FIFA se dcompose en deux sous-systmes : Le systme dinformation interne ddi aux fonctions administrative de la fdration comme la finance, la comptabilit, les achats, les ressources humaines, le juridique et les fonctions transverses comme la messagerie et la gestion documentaire. Le systme dinformation externe ouvert au public et aux adhrents, centr autour dun portail Internet www.FIFA.com permettant de communiquer sur lorganisation de la FIFA, les travaux de ses commissions et les vnements sportifs. Ce portail offre aussi un service de billetterie pour la rservation et lachat en ligne de places de stades loccasion de grands vnements comme la coupe du monde.

Ces deux sous-systmes communiquent entre eux par une interconnexion de type EDI permettant lchange standardis et scuris de documents commerciaux (rfrences produits et prix) et comptables (commandes, factures).

Contexte Mondial 2014 - BTS-SIO2/SLAM 4

Le projet ResaPlace
Pour les besoins de notre tude, nous supposons que la FIFA a dcid en Octobre 2012 de lancer une tude de faisabilit sur le dveloppement et la mise en place dun nouveau service ResaPlace sur son portail Internet, pour tendre la billetterie en ligne existante la rservation de chambres dhtel, de places de parking et dautres rservations plus exotiques comme la garde danimaux domestiques. La FIFA a donc lanc un appel doffres pour slectionner un e socit de service capable dlaborer le cahier des charges de ce nouveau service et mettre en place une application prototype pour en valuer lefficacit et affiner le cahier des charges du futur systme.

Cahier des charges de lapplication ResaPlace


Objectif du projet
Lobjectif du projet et de dfinir et mettre en place un service tendu de rservation des places de stade, des places de parking, des chambres dhtel et dautres services comme la garde danimaux domestiques accessible en ligne aux visiteurs et aux agents de voyage. La premire phase du dveloppement de ce projet, objet de la prsente tude, consiste dvelopper un dmonstrateur utilisable par des utilisateurs pilotes afin didentifier les besoins fonctionnels dtaills de lapplication ResaPlace et de faciliter le dimensionnement de la future plateforme informatique. Ce systme devra aussi permettre de raliser les formations initiales des quipes de dveloppement, de test et de dploiement de la solution finale.

Organisation et SI existant
Le systme dinformation actuel de la FIFA est constitu de deux sous-systmes dinformation interconnects par une liaison EDI dchange de documents commerciaux et comptables : Un systme dinformation interne, bas sur un ERP, intgrant toutes les fonctions administratives classiques dune entreprise (gestion comptable et financire, achats, logistique, ressources humaines) et de support (messagerie, gestion documentaire). Un portail externe de communication (www.FIFA.com) destin au public et adhrents : ce systme ne fournit que des informations sur les capacits daccueil des stades et des htels partenaires, mais pas de systme de rservation global et multiservices.

Besoins dvolution et solution cible souhaite


Le systme de rservation ResaPlace est une nouvelle application qui sera intgre terme dans le portail www.FIFA.com. Elle devra permettre la rservation de tout type de places (stades, parking, htel, chenil, etc.) qui pourront voluer dans le futur. Elle sera hberge sur des serveurs ddis de lhbergeur habituel, avec un accs VPN depuis le rseau interne permettant une administration distante par lquipe informatique interne. Pendant la phase de mise au point initiale, lapplication sera dabord disponible en mode client-serveur sur le rseau local de la FIFA. Cette configuration permettra une mise au point rapide des fonctionnalits de lapplication.

Contexte Mondial 2014 - BTS-SIO2/SLAM 5


En dehors des administrateurs, deux types dutilisateurs pourront accder cette nouvelle application : 1. Les agents des partenaires identifis qui disposeront daccs rservs ce systme pour grer la mise disposition de place de stade, de chambre dhtel, de place de parking, etc. 2. Les visiteurs (clients) qui pourront effectuer directement des rservations en ligne ou indirectement par agence. Dans tous les cas, ce systme de rservation ne sera accessible quaprs authentification des utilisateurs prenregistrs laide dun identifiant (courriel) et dun mot de passe personnel.

Moyens organisationnels et techniques


Une organisation classique deux niveaux sera mise en place pour assurer la direction et le contrle dexcution du projet ResaPlace : 1. Un comit de pilotage, prsid par le Secrtaire gnral ou son reprsentant, devant se runir mensuellement pour assurer le pilotage stratgique de ce projet. 2. Un comit de suivi, dirig par le Chef de projet, devant se runir avec son quipe projet au moins une fois par semaine pour assurer le contrle dexcution du projet.

Contexte Mondial 2014 - BTS-SIO2/SLAM 6

Solution technique propose


Afin de rduire les risques lis la matrise duvre dun tel projet, le comit de pilotage du projet ResaPlace a retenu le principe dune architecture logicielle ouverte pour permettre un dveloppement en deux phases : 1. Mise en place dune application client-serveur Windows .Net dveloppe en C# sous Visual Studio 2012 Ultimate et interconnecte une base de donnes SQL serveur 2012 par lintermdiaire dune bibli othque de classes mtier. 2. Mise en place dune application Web ASP.Net dveloppe en C# sous Visual Studio 2012 Ultimate et interconnecte la base de donnes SQL serveur 2012 par cette mme bibliothque. Le schma darchitecture logicielle est le suivant :

Les lments coloris en orange correspondent aux dveloppements relatifs la premire tape et comprend les deux lments du socle commun : la base donnes ResaPlace sous SQL server et la bibliothque de classes mtier ResaPlaceLib utilisant l a couche dabstraction dobjets Entity Framework accde par les classes LINQ to SQL en notation objet. Ce choix des technologies exclusivement Microsoft permet doptimiser lutilisation du Framework .Net 4.0 de Microsoft dans lenvironnement de dveloppement intgr Visual Studio 2102 Ultimate, incluant tous les outils ncessaires la conception des cas d utilisation, du modle de donnes et des classes correspondantes, et ceux ncessaire au codage (en C#), test et mise point des interfaces utilisateurs et des bibliothques de classes mtier.

Contexte Mondial 2014 - BTS-SIO2/SLAM 7


Linfrastructure rseau mise en uvre pour ce projet est la suivante :

Sur chacun des postes de dveloppement (PC Windows 7 pro) a t install Visual Studio 2012 Ultimate et SQL Server 2012 Express. Une fois mise au point, la base de donnes ResaPlace a t installe sur le serveur SLAM 1 (PC SE Windows 2008 R2) sous SQL Serveur 2012, accessible depuis chaque PC (excutant lapplication Windows ResaPlace) par le rseau local du labo SLAM. La connexion Internet a t mise en rserve pour le dploiement de la future application Internet ResaPlace.net qui reste tre dveloppe (projet dextension).

Contexte Mondial 2014 - BTS-SIO2/SLAM 8

Plan Projet

Contexte Mondial 2014 - BTS-SIO2/SLAM 9

Spcifications fonctionnelles et techniques


Dans lapplication, il y a 5 types de rservations: - ResaPlace Stade - ResaPlace Htel - ResaPlace Parking - ResaPlace Restaurant - ResaPlace Avion

Cas dutilisation
1) ResaPlace Stade

Contexte Mondial 2014 - BTS-SIO2/SLAM 10

2) ResaPlace Htel

Contexte Mondial 2014 - BTS-SIO2/SLAM 11

3) ResaPlace Parking

Contexte Mondial 2014 - BTS-SIO2/SLAM 12

4) ResaPlace Restaurant

Contexte Mondial 2014 - BTS-SIO2/SLAM 13

5) ResaPlace Avion

Contexte Mondial 2014 - BTS-SIO2/SLAM 14

Diagramme de squence
Les cas dutilisation communs tous les types de rservations : Cas Se connecter

Contexte Mondial 2014 - BTS-SIO2/SLAM 15

Cas Sinscrire

Cas Supprimer

Contexte Mondial 2014 - BTS-SIO2/SLAM 16

1) ResaPlace Stade Cas ModifierReservation :

Contexte Mondial 2014 - BTS-SIO2/SLAM 17

Cas ConsulterListeMatch

Contexte Mondial 2014 - BTS-SIO2/SLAM 18

2) ResaPlace Htel

Contexte Mondial 2014 - BTS-SIO2/SLAM 19

3) ResaPlace Parking

Contexte Mondial 2014 - BTS-SIO2/SLAM 20

Contexte Mondial 2014 - BTS-SIO2/SLAM 21

Contexte Mondial 2014 - BTS-SIO2/SLAM 22

4) ResaPlace Restaurant

Contexte Mondial 2014 - BTS-SIO2/SLAM 23

Contexte Mondial 2014 - BTS-SIO2/SLAM 24

Contexte Mondial 2014 - BTS-SIO2/SLAM 25

5) ResaPlace Avion Afficher Vol

Contexte Mondial 2014 - BTS-SIO2/SLAM 26

Rserver un vol

Contexte Mondial 2014 - BTS-SIO2/SLAM 27

Modle des donnes


Le principe de conception du modle des donnes a t de partir des classes mtier dduites des cas dutilisation et de normaliser les types de rservation, de places et doccupants lis. Ce modle a t complt de trois classes permettant de contrler laccs et de grer les historiques de connexions (GroupeUtilisateur, Utilisateur et Connexion) :

Il en rsulte un modle unique de donnes de donnes utilisable par les cinq services de rservation identifis et ouvert de futurs services non encore identifis.

Contexte Mondial 2014 - BTS-SIO2/SLAM 28

Base de donnes relationnelle


Limplmentation du modle de donnes orient objets dfini plus haut en un modle classique relationnel dans SQL Server se fait par une correspondance directe entre classes dobjets et tables de la base de donnes avec la couche Entity Framework et les classes LINQ to SQL permettant dinterroger et modifier cette base. Au modle des donnes correspond un schma relationnel dfini en langage SQL de Microsoft comme le montre lextrait suivant :

-- --------------------------------------------------- Dropping existing FOREIGN KEY constraints -- -------------------------------------------------IF OBJECT_ID(N'[dbo].[FK_GroupeUtilisateurUtilisateur]', 'F') IS NOT NULL ALTER TABLE [dbo].[Utilisateur] DROP CONSTRAINT [FK_GroupeUtilisateurUtilisateur]; GO IF OBJECT_ID(N'[dbo].[FK_PaysUtilisateur]', 'F') IS NOT NULL ALTER TABLE [dbo].[Utilisateur] DROP CONSTRAINT [FK_PaysUtilisateur]; GO IF OBJECT_ID(N'[dbo].[FK_UtilisateurReservation]', 'F') IS NOT NULL ALTER TABLE [dbo].[Reservation] DROP CONSTRAINT [FK_UtilisateurReservation]; GO IF OBJECT_ID(N'[dbo].[FK_ReservationPlace]', 'F') IS NOT NULL ALTER TABLE [dbo].[Place] DROP CONSTRAINT [FK_ReservationPlace]; GO IF OBJECT_ID(N'[dbo].[FK_TypePlacePlace]', 'F') IS NOT NULL ALTER TABLE [dbo].[Place] DROP CONSTRAINT [FK_TypePlacePlace]; -- --------------------------------------------------- Dropping existing tables -- -------------------------------------------------IF OBJECT_ID(N'[dbo].[Utilisateur]', 'U') IS NOT NULL DROP TABLE [dbo].[Utilisateur]; GO IF OBJECT_ID(N'[dbo].[GroupeUtilisateur]', 'U') IS NOT NULL DROP TABLE [dbo].[GroupeUtilisateur]; GO IF OBJECT_ID(N'[dbo].[Place]', 'U') IS NOT NULL DROP TABLE [dbo].[Place]; GO IF OBJECT_ID(N'[dbo].[Reservation]', 'U') IS NOT NULL DROP TABLE [dbo].[Reservation]; GO

Contexte Mondial 2014 - BTS-SIO2/SLAM 29

-- --------------------------------------------------- Creating all tables -- --------------------------------------------------- Creating table 'Utilisateur' CREATE TABLE [dbo].[Utilisateur] ( [id] int IDENTITY(1,1) NOT NULL, [nom] nvarchar(max) NOT NULL, [prenom] nvarchar(max) NOT NULL, [rue] nvarchar(max) NOT NULL, [codePostal] int NOT NULL, [ville] nvarchar(max) NOT NULL, [telephone] nvarchar(max) NOT NULL, [mail] nvarchar(max) NOT NULL, [mdp] nvarchar(max) NOT NULL, [dateInscription] datetime NOT NULL, [GroupeUtilisateur_id] int NOT NULL, [Pays_id] int NOT NULL, [reservation_id] int NOT NULL, [connexion_id] int NOT NULL ); GO -- Creating table 'Place' CREATE TABLE [dbo].[Place] ( [id] int IDENTITY(1,1) NOT NULL, [numPlace] nvarchar(max) NOT NULL, [Reservation_id] int NOT NULL, [TypePlace_id] int NOT NULL ); GO -- Creating table 'Reservation' CREATE TABLE [dbo].[Reservation] ( [id] int IDENTITY(1,1) NOT NULL, [date] datetime NOT NULL, [TypeReservation_id] int NOT NULL, [Occupant_id] int NOT NULL );

Contexte Mondial 2014 - BTS-SIO2/SLAM 30

-- --------------------------------------------------- Creating all FOREIGN KEY constraints -- --------------------------------------------------- Creating foreign key on [GroupeUtilisateur_id] in table 'Utilisateur' ALTER TABLE [dbo].[Utilisateur] ADD CONSTRAINT [FK_GroupeUtilisateurUtilisateur] FOREIGN KEY ([GroupeUtilisateur_id]) REFERENCES [dbo].[GroupeUtilisateur] ([id]) ON DELETE NO ACTION ON UPDATE NO ACTION; -- Creating non-clustered index for FOREIGN KEY 'FK_GroupeUtilisateurUtilisateur' CREATE INDEX [IX_FK_GroupeUtilisateurUtilisateur] ON [dbo].[Utilisateur] ([GroupeUtilisateur_id]); GO -- Creating foreign key on [Pays_id] in table 'Utilisateur' ALTER TABLE [dbo].[Utilisateur] ADD CONSTRAINT [FK_PaysUtilisateur] FOREIGN KEY ([Pays_id]) REFERENCES [dbo].[Pays] ([id]) ON DELETE NO ACTION ON UPDATE NO ACTION; -- Creating foreign key on [Reservation_id] in table 'Place' ALTER TABLE [dbo].[Place] ADD CONSTRAINT [FK_ReservationPlace] FOREIGN KEY ([Reservation_id]) REFERENCES [dbo].[Reservation] ([id]) ON DELETE NO ACTION ON UPDATE NO ACTION;
Ce modle a permis de crer les instances locales (pour tests unitaires) et distante (pour tests dintgration) de la base de donnes ResaPlace.dbo sous SQL Server 2012, dans sa configuration simplifie SQL Express 2012.

Contexte Mondial 2014 - BTS-SIO2/SLAM 31

Bibliothque de classes mtier


Le dcoupage en classes mtier rsulte directement du modle des donnes, comme vu plus haut. Les classes LINQ to SQL correspondantes les dfinissent partiellement et sont ensuite compltes dans le fichier ResaPlaceLib.cs, comme le montre lexplorateur de solution de Visual Studio 2012 : La conception de ces classes et des mthodes associes a fait l aussi lobjet dune normalisation, comme le montre cet extrait de la classe Utilisateur :
bool Modifier(Utilisateur unUtilisateur) bool Supprimer(Utilisateur unUtilisateur) bool Supprimer(int Id) Utilisateur ObtenirUn(int Id) List<Utilisateur> ObtenirListe(string debutNom = "")

Toutes les classes et les mthodes associes de cette bibliothque ont t commentes au format XML dfinit par Microsoft pour tre automatiquement exploit par son outil IntelliSense (qui commente dynamiquement ces lments lors de leur utilisation dans le code de lapplication), comme le montre lextrait de code suivant :

/// /// /// ///

<summary> La classe Utilisateur gre les Utilisateurs (...) de la base de donnes et leur connexion/dconnexion /de l'application. </summary>

/// <summary> /// La mthode permet d'obternir un utilisateur en fonction de l'id de celui-ci /// </summary> /// <param name="id"></param> /// <returns>Objet Utilisateur</returns> public static Utilisateur ObtenirUn(int id) { using (ResaPlaceLibDataContext db = new ResaPlaceLibDataContext()) { var query = from ut in db.Utilisateur where ut.id == id select ut; return query.Single(); } }

Le code complet de cette bibliothque est disponible dans le dossier des sources de la solution VS 2012 dans le fichier compress ReasaPlace.zip.

Contexte Mondial 2014 - BTS-SIO2/SLAM 32

Architecture de la solution Architecture globale

Application BackOffice

Application FrontOffice

Windows Form

Application Android

API Bibliothque

SqlServer2012 distant

Base de donnes + Tables

Contexte Mondial 2014 - BTS-SIO2/SLAM 33

Convention de nommages

Contexte Mondial 2014 - BTS-SIO2/SLAM 34

Prsentation du programme Accueil ResaPlace

Il faut dj possder un compte utilisateur pour avoir accs ladministration Et valider

Contexte Mondial 2014 - BTS-SIO2/SLAM 35

Choisir parmi les diffrents menus

Contexte Mondial 2014 - BTS-SIO2/SLAM 36

Aprs avoir cliqu sur Administrer les Utilisateurs, une nouvelle page est ouverte. On y voit les utilisateurs dj prsents, on peut faire une recherche ou ajouter un nouvel utilisateur.

Contexte Mondial 2014 - BTS-SIO2/SLAM 37

Application native Android


Langages et technologies utilises : SDK Android Base de donnes SQL Server Driver JTDS 1.2.5 Fonctionnalits : Elle permet de visualiser les rservations effectues par les diffrents utilisateurs (id, nom et prnom de lutilisateur, nom de loccupant, nom du type de la rservation).

Contexte Mondial 2014 - BTS-SIO2/SLAM 38

FICHE TECHNIQUE : Installation Serveur SLAM1 sur ESXi salle 119 172.16.119.1

Date installation : le mercredi 6 janvier 2013 compte administrateur local du poste : login : AdminSLAM mot de passe : AdminSLAM Identification Nom du poste : SERVEUR-SLAM1

Proxy pour navigateur Web: 172.31.0.254 port 443 sur scuris SE Windows 2008 R2 : activ Domaine : LADOMAIN Logiciels : - client antivirus Rles : - aucun