Académique Documents
Professionnel Documents
Culture Documents
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.
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.
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).
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.
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.
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.
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).
Plan Projet
Cas dutilisation
1) ResaPlace Stade
2) ResaPlace Htel
3) ResaPlace Parking
4) ResaPlace Restaurant
5) ResaPlace Avion
Diagramme de squence
Les cas dutilisation communs tous les types de rservations : Cas Se connecter
Cas Sinscrire
Cas Supprimer
Cas ConsulterListeMatch
2) ResaPlace Htel
3) ResaPlace Parking
4) ResaPlace Restaurant
Rserver un vol
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.
-- --------------------------------------------------- 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
-- --------------------------------------------------- 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 );
-- --------------------------------------------------- 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.
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.
Application BackOffice
Application FrontOffice
Windows Form
Application Android
API Bibliothque
SqlServer2012 distant
Convention de nommages
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.
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