Académique Documents
Professionnel Documents
Culture Documents
Rapport Final
Rapport Final
***** *****
MINISTERE DE L’ENSEIGNEMENT INSTITUT SUPERIEUR
SUPERIEUR ET DE LA RECHERCHE D’INFORMATIQUE ET DU
SCIENTIFIQUE MULTIMEDIA SFAX
N° d’ordre: 2013 224
Sujet :
Réalisé par :
Houssem BELGHITH
Rawia ZOUARI
Soutenu, le 06/06/2013, devant le jury d’examen :
Mes parents,
Mes frères,
Mes proches,
Mes amis,
Houssem
Dédicaces
En témoignage de ma gratitude
A Mon Père,
En vous je vois un père dévoué à sa famille. Ta présence en toute
le sens de la responsabilité
A Ma Mère,
En vous je vois la maman parfaite, toujours prête à se sacrifier pour le
Rawia
Remerciements
C'est avec un grand plaisir que nous réservons cette page en signe de gratitude et de
reconnaissance à tous ceux qui ont assisté à ce travail.
Nous adressons aussi nos remerciements les plus sincères aux membres de jury,
Monsieur Walid MAHDI et Monsieur Tarek ZLITNI pour avoir l’extrême gentillesse de bien
vouloir évaluer notre travail.
Nous adressons nos remerciements à tout le personnel de la société All Soft Multimédia,
en particulier Monsieur Salah WERDA pour son accueil chaleureux et pour ses conseils
enrichissants.
Nous exprimons toute notre gratitude à tous ceux qui nous ont aidés de prés ou de loin à
réaliser notre travail.
Cette étude entre dans le cadre de la préparation du projet de fin d’études en vue de
l’obtention du diplôme d’Ingénieur en Informatique, Technologie Web et Multimédia au sein
de l’Institut Supérieur d’Informatique et de Multimédia de Sfax.
C’est ainsi que nous avons eu l’occasion de préparer notre projet de fin d’étude
intitulé «Gestion des activités sportives dans une salle de sport» proposé par la société All
Soft Multimédia.
TABLE DES MATIÈRES
INTRODUCTION.....................................................................................................................1
CHAPITRE I : MODELISATION DES BESOINS..............................................................2
I.1. Introduction..................................................................................................................3
I.2. Présentation de l’entreprise..........................................................................................3
I.3. Contexte du projet........................................................................................................3
I.3.1. Problématique.......................................................................................................3
I.3.2. Objectifs à atteindre..............................................................................................4
I.3.3. Public visé.............................................................................................................4
I.4. Besoins fonctionnels et non fonctionnels.....................................................................4
I.4.1. Besoins fonctionnels.............................................................................................4
I.4.2. Besoins non fonctionnels......................................................................................6
I.5. Choix de la méthodologie de développement..............................................................7
I.6. Modèle des cas d’utilisation.........................................................................................8
I.6.1. Identification des acteurs......................................................................................9
I.6.2. Diagrammes des cas d’utilisation.........................................................................9
I.6.3. Description textuelle des cas d’utilisation..........................................................15
I.7. Calendrier d’action.....................................................................................................20
I.8. Conclusion..................................................................................................................20
CHAPITRE II : MODÈLE D’ANALYSE ET DE CONCEPTION...................................21
II.1. Introduction................................................................................................................22
II.2. Analyse des cas d’utilisation......................................................................................22
II.2.1. Diagrammes d’état transition..............................................................................22
II.2.1.1. Diagramme d’état transition « Abonnement_Séance »...............................23
II.2.1.2. Diagramme d’état transition « Abonnement_Prépayé»...............................24
II.2.1.3. Diagramme d’état transition « Adhérent»...................................................25
II.2.1.4. Diagramme d’état transition « Séance »......................................................26
II.2.1.5. Diagramme d’état transition « Réservation »..............................................27
II.2.2. Diagrammes d’activité........................................................................................27
II.2.2.1. Diagramme d’activité « Ajouter et confirmer inscription »........................28
II.2.2.2. Diagramme d’activité « Réservation »........................................................29
II.2.3. Diagrammes de séquence....................................................................................30
II.2.3.1. Diagramme de séquence « Ajouter inscription ».........................................30
II.2.3.2. Diagramme de séquence « Confirmer inscription »....................................31
II.2.3.3. Diagramme de séquence « Ajouter réservation »........................................32
II.2.3.4. Diagramme de séquence « Annuler réservation ».......................................33
II.2.4. Traçabilité entre le modèle d’analyse et le modèle de conception.....................34
II.2.5. Diagramme de classe du modèle de conception.................................................36
II.3. Représentation des classes.........................................................................................38
II.3.1. Liste des classes..................................................................................................38
II.3.2. Liste des attributs................................................................................................44
II.3.3. Diagramme de classe..........................................................................................47
II.4. Diagramme de navigation..........................................................................................49
II.4.1. L’arborescence de l’application WEB................................................................49
II.4.2. L’arborescence de l’application mobile..............................................................50
II.5. Conclusion..................................................................................................................51
CHAPITRE III : MODELE D’IMPLÉMENTATION.......................................................52
III.1. Introduction............................................................................................................53
III.2. Architecture physique du système..........................................................................53
III.3. Justification du choix..............................................................................................54
III.3.1. Architecture de développement MVC................................................................54
III.3.2. Utilisation des web service.................................................................................55
III.3.3. Protocole des services web.................................................................................55
III.3.3.1. Comparaison................................................................................................56
III.3.3.2. Choix retenu................................................................................................61
III.4. Environnement de réalisation.................................................................................61
III.4.1. Environnement matériel......................................................................................61
III.4.2. Environnement logiciel.......................................................................................61
III.5. Diagramme de déploiement....................................................................................63
III.6. Mapping vers le modèle logique de données..........................................................64
III.6.1. Les règles de mapping........................................................................................64
III.6.2. Modélisation logique/physique des données......................................................65
III.7. Illustration du test des web service.........................................................................67
III.8. Test de l’application...............................................................................................70
III.8.1. Test de l’application mobile................................................................................70
III.8.2. Test de l’application web....................................................................................73
III.9. Apports et problèmes rencontrés............................................................................76
III.9.1. Difficultés rencontrées........................................................................................76
III.9.2. Apports................................................................................................................76
III.10. Conclusion..............................................................................................................77
CONCLUSION GENERALE................................................................................................78
BIBLIOGRAPHIE..................................................................................................................79
WEBOGRAPHIE...................................................................................................................80
LISTE DES FIGURES
Figure I- 1 : Les phases du processus RUP.................................................................................8
Figure I- 2 : Diagramme des cas d’utilisation « Gestion des inscriptions ».............................10
Figure I- 3 : Diagramme des cas d’utilisation « Gestion des abonnements »...........................10
Figure I- 4 : Diagramme des cas d’utilisation « Gestion des locaux ».....................................11
Figure I- 5 : Diagramme des cas d’utilisation « Gestion des activités sportives »...................11
Figure I- 6 : Diagramme des cas d’utilisation « Planification des séances »............................12
Figure I- 7 : Diagramme des cas d’utilisation « Gestion des réservations ».............................13
Figure I- 8 : Diagramme des cas d’utilisation « Suivi des fréquences des réservations »........14
Figure I- 9 : Diagramme des cas d’utilisation « Fonctionnalités mobile »...............................14
INTRODUCTION
La fréquentation des salles de sport est généralement couplée à la disponibilité des
adhérents et leur proximité. Devant le nombre important de salles, certains cherchent des
moyens attractifs leurs permettant d’attirer le maximum d’adhérents tout en optimisant leur
rentabilité et leur taux d’occupation.
Par ailleurs, pour éviter les encombrements, les dirigeants de salle optent pour la
réservation au préalable mais cette solution reste statique et insatisfaisante pour certains
adhérents.
En ce qui concerne les adhérents, ils cherchent toujours des services qui correspondent
mieux à leurs besoins, qui s’adaptent à leur disponibilité et qui offre une accessibilité
permanente surtout lorsqu’il s’agit d’une salle de sport multi-sites.
Suite aux grandes mutations dans le marché du Smartphone, permettant une connexion
mobile à Internet par le réseau 3G ou wifi, ainsi, le web mobile constitue un excellent moyen
d'accroître les revenus d’une entreprise ce qui l’incite à s’adapter et exploiter ces opportunités
pour être compétitive.
1
Chapitre I : MODELISATION
DES BESOINS
Chapitre. I.
Chapitre I : Modélisation des besoins
I.1. Introduction
Dans ce chapitre nous présentons le contexte du projet, la problématique et les objectifs
à atteindre. En ce qui suit, nous décrivons les besoins fonctionnels et non fonctionnels ainsi
que la méthodologie de développement à utiliser.
Elle accompagne ses clients dans la réalisation de tous leurs projets Internet : (Création
de site vitrine, site e-commerce, site catalogue, Référencement, création graphique, Conseil
& Audit), et de tous leurs Projets de Gestion: (Gestion de Paie, Gestion de Parc, Gestion d
´Achat, etc.…)
Contact :
o Adresse : Av.de la liberté Im. El Itkan 3ème étage Bureau. 11 - Sfax 3027.
o E-mail : contact@asm.com.tn
I.3.1. Problématique
Le sport est devenu une nécessité dans notre vie quotidienne. En fait, pour le pratiquer
régulièrement, les séances sont fixées à l’avance ce qui provoque un engagement envers soi.
A cause des préoccupations humaines, les adhérents de salles de sport ne peuvent pas profiter
des séances qui leurs sont allouées vu que les planifications sont fixées au préalable. Il est
3
Chapitre I : Modélisation des besoins
difficile donc d’adapter les délais de disponibilités aux séances planifiées surtout lorsqu’il
s’agit d’une leçon ou d’un déplacement de l’adhérent.
Adhérent
o Créer un compte.
o S’identifier.
o Consulter les plannings et la disponibilité des terrains et/ou des leçons pour
une salle choisie.
o Réserver en ligne un terrain et/ou dans une séance planifiée pour une leçon
spécifique.
4
Chapitre I : Modélisation des besoins
o Visualiser leurs abonnements actifs et expirés selon leur type (prépayé, par
séance).
Administrateur
o Consulter les réservations des adhérents et/ou d’un terrain et/ou d’une leçon à
un moment donné.
o Consulter les abonnements des adhérents selon un type (prépayé, par séance)
et/ou un modèle.
o Planifier les séances d’une leçon spécifique dans un local donné sous la
supervision d’un entraineur.
o Consulter les statistiques des réservations des leçons et/ou des terrains depuis
les adhérents, et lui offre des graphes statistiques.
5
Chapitre I : Modélisation des besoins
Ergonomie et souplesse
Rapidité
La performance
o l’application doit être avant tout performante c'est-à- dire à travers ses
fonctionnalités, répond à toutes les exigences des usagers d’une manière
optimale.
Maintenabilité et sociabilité
6
Chapitre I : Modélisation des besoins
Vue l’ampleur de notre projet nous avons choisi l'approche objet. En effet, la
modélisation objet consiste à créer une représentation informatique des éléments du monde
réel. Elle définit un cadre générique de développement objet facile à réutiliser avec
l’utilisation UML (Unified Modeling Language) comme un langage de modélisation et la
méthodologie RUP (Rational Unified Process) comme processus de développement.
UML
RUP
RUP est un processus basé sur une approche disciplinée afin de bien maîtriser
l’assignation des tâches et la responsabilisation des différents acteurs participant au cycle de
développement du logiciel
RUP est adopté lors des projets complexes. Il a pour objectif principal de faire appliquer
les bonnes pratiques de développement aux entreprises, ce qui confère au produit final une
meilleure qualité. [3]
Il se déroule selon quatre phases (Figure I-1) qui sont l’inception, l’élaboration, la
construction et la transition. [4]
7
Chapitre I : Modélisation des besoins
8
Chapitre I : Modélisation des besoins
L’adhérent
L’administrateur
Il représente un agent administratif possédant tous les droits d'accès pour interagir avec le
système.
L’agent d’accueil
Il représente un agent d’accueil d’une salle de sport possédant les droits d’accès nécessaire
pour effectuer des réservations aux membres.
L’entraineur
Le membre
9
Chapitre I : Modélisation des besoins
10
Chapitre I : Modélisation des besoins
11
Chapitre I : Modélisation des besoins
12
Chapitre I : Modélisation des besoins
13
Chapitre I : Modélisation des besoins
Figure I- 8 : Diagramme des cas d’utilisation « Suivi des fréquences des réservations »
14
Chapitre I : Modélisation des besoins
Sommaire d’identification
Titre Ajouter inscription
Acteur Membre
Objectif Permettre au membre d’effectuer une inscription.
Scénario échecs
5.a. Erreur de saisie d’informations :
Le système affiche (« Vérifiez vos coordonnées »).
Le cas d’utilisation reprend à l’action 2 du scénario nominal.
5.b. Login existant :
Le système affiche (« Adhérent existant »).
Le cas d’utilisation reprend à l’action 2 du scénario nominal.
15
Chapitre I : Modélisation des besoins
Sommaire d’identification
Titre Confirmer inscription
Acteur Administrateur
Permettre à l’administrateur de confirmer une inscription à travers la
Objectif
génération d’un abonnement.
Scénario nominal
16
Chapitre I : Modélisation des besoins
Scénarios alternatifs
7.a. L’administrateur choisit l’abonnement par séance :
Le système demande le nombre de séances à accorder.
L’administrateur saisit le nombre de séances pour l’abonnement séance.
Le cas d’utilisation reprend à l’action 10 du scénario nominal.
Sommaire d’identification
Titre Ajouter réservation
Acteur Adhérent
Permettre à l’adhérent d’effectuer une réservation d’une ressource
Objectif
(terrain, leçon).
17
Chapitre I : Modélisation des besoins
11. Le système affiche la liste des séances pour la ressource et la date choisie.
Scénarios alternatifs
7.a. L’adhérent demande le changement de la salle
Le système vérifie le type d’abonnement (critère de multi-salle).
Le cas d’utilisation reprend à l’action 6 du scénario nominal.
Scénarios d’échecs
11.a. Capacité indisponible :
Le système affiche (« Capacité indisponible »).
Le cas d’utilisation reprend à l’action 8 du scénario nominal.
14.a. Mode de réservation de la séance est hors ligne :
Le système affiche (« Vous ne pouvez pas réserver cette séance en ligne »).
Le cas d’utilisation reprend à l’action 11 du scénario nominal.
14.b. Séance déjà réservée :
Le système affiche (« Séance réservée veuillez choisir une autre »).
Le cas d’utilisation reprend à l’action 11 du scénario nominal.
17.a. Séance non disponible :
Le système affiche (« Réservation non ajoutée veuillez choisir une autre »).
Le cas d’utilisation reprend à l’action 8 du scénario nominal.
18
Chapitre I : Modélisation des besoins
Sommaire d’identification
Titre Annuler réservation
Acteur Adhérent
Objectif Permettre à l’adhérent d’annuler une réservation.
Scénario nominal
Scénarios d’échecs
7.a. Délai dépassé :
Le système affiche (« Vous ne pouvez plus annuler cette réservation »).
Le cas d’utilisation reprend à l’action 2 du scénario nominal.
19
Chapitre I : Modélisation des besoins
I.8. Conclusion
Ce chapitre nous a permis de couvrir les différents besoins fonctionnels et non
fonctionnels des acteurs de notre application. Nous avons fourni une représentation
détaillée de ces besoins grâce à un diagramme de cas d'utilisation relatif aux acteurs
réagissant avec l’application. Le chapitre qui suit, portera sur la partie analyse et
conception.
20
CHAPITRE II : MODÈLE
D’ANALYSE ET DE
CONCEPTION
Chapitre. II.
Chapitre II : Modèle d’analyse et de conception
II.1. Introduction
Après avoir identifié les besoins de notre application exprimés par les cas d’utilisation,
nous procédons dans ce qui suit à l’analyse des besoins afin d’avoir une représentation
raffinée permettant de couvrir tous les aspects de l’application.
Un diagramme d'état montre les états potentiels d'un objet, et les transitions d'un état à
un autre. Une transition est déclenchée par un événement, il peut y avoir une condition de
garde, et une action associée à la transition. [6]
Un diagramme d’état de transition d’une classe est une description des évolutions
possibles de ses objets.
Il donne :
o La liste des états que peut prendre l’objet durant son cycle de vie ;
Pour présenter les états des objets interactifs dans notre application nous présentons les
diagrammes d’état de transition pour les occurrences d’objets suivants :
Abonnement_Séance
Abonnement_Prépayé
22
Chapitre II : Modèle d’analyse et de conception
Adhérent
Séance
Réservation
L’abonnement séance dans notre cas débute par l’état "actif". Si le nombre de séance
atteint la valeur zéro, l’état à ce moment devient "expiré" sinon il reste à l’état "actif". S’il ya
eu un renouvellement l’état passe de "expiré" à "actif" comme le montre la Figure II-1.
23
Chapitre II : Modèle d’analyse et de conception
L’abonnement prépayé dans notre cas débute par l’état "actif". Si la date de début et la
durée de l’abonnement sont supérieures à la date du système l’état à ce moment devient
"expiré" sinon il reste à l’état "actif". S’il ya eu un renouvellement l’état passe de "expiré" à
"actif" comme le montre la Figure II-2.
24
Chapitre II : Modèle d’analyse et de conception
L’adhérent dans notre cas débute par l’état "utilisateur". Lors d’une inscription l’état
devient "Membre". Suite à la génération d’un abonnement l’état devient "Adhérent actif". Une
fois l’abonnement de ce dernier est expiré l’état passe à "Adhérent Inactif". S’il ya eu un
renouvellement d’abonnement l’état passe de "Adhérent Inactif" à "Adhérent actif" comme le
montre la Figure II-3.
25
Chapitre II : Modèle d’analyse et de conception
Toute nouvelle séance passe automatiquement par l’état "Planifiée". Lors d’une
réservation l’état à ce moment devient "Réservée" si la capacité disponible atteint zéro sinon
elle ne change pas d’état. Dans le cas ou la date système est la même que la date de la séance
et l’heure système supérieur à l’heure de la séance l’état passe à "Effectuée". Une fois
l’adhérent annule la réservation avant que le délai est atteint elle revient "Planifiée" comme le
montre la Figure II-4.
26
Chapitre II : Modèle d’analyse et de conception
A la création d’une réservation l’état est "Valide". Lors d’une annulation l’état devient
"Annulée" si la date d’annulation est inférieure au délai fixé. Une fois la date système
devienne supérieure à la date de réservation l’état devient "Archivée" comme le montre la
Figure II-5.
Le passage d'une activité vers une autre est matérialisé par une transition. Les
transitions sont déclenchées par la fin d'une activité et provoquent le début immédiat d'une
autre (elles sont automatiques). [7]
27
Chapitre II : Modèle d’analyse et de conception
L’inscription se fait par le membre, une fois les informations sont valides, un objet
adhérent est crée. "Adhérent" ainsi créé reste en attente jusqu’à la génération d’un
abonnement auprès de l’administrateur. Finalement une notification de confirmation est
envoyée à l’adhérent.
28
Chapitre II : Modèle d’analyse et de conception
Une fois les informations d’authentification sont valides, un menu s’affiche à l’écran.
Pour réserver une certaine ressource, l’adhérent suivre les étapes suivantes: le choix de
l’abonnement à réserver, le choix de la ressource elle-même (dans le cas ou l’abonnement
choisi est multi-salle, l’adhérent peut migrer vers une autre salle) alors une liste de séances est
affichée selon la date, la salle et l’activité choisie. L’adhérent doit choisir une séance et
valider sa réservation.
29
Chapitre II : Modèle d’analyse et de conception
L'ordre d'envoi d'un message est déterminé par sa position sur l'axe vertical du
diagramme; le temps s'écoule "de haut en bas" de cet axe. La disposition des objets sur l'axe
horizontal n'a pas de conséquences pour la sémantique du diagramme. [8]
31
Chapitre II : Modèle d’analyse et de conception
32
Chapitre II : Modèle d’analyse et de conception
Ajouter inscription
Confirmer inscription
Ajouter réservation
34
Chapitre II : Modèle d’analyse et de conception
Annuler réservation
35
Chapitre II : Modèle d’analyse et de conception
Ajouter inscription
Confirmer inscription
36
Chapitre II : Modèle d’analyse et de conception
Ajouter réservation
Annuler réservation
37
Chapitre II : Modèle d’analyse et de conception
5 numero_tel_salle
6 logo_salle
5 nombre_personne DeleteReservation(Reservation)
38
Chapitre II : Modèle d’analyse et de conception
8 Sexe Authentification(login,mdp)
9 Adresse
10 code_postal
11 Ville
39
Chapitre II : Modèle d’analyse et de conception
2 capacite_disp_seance getSeance_ById(id_seance)
getListSeance_ByLocal(Local)
3 description_seance
getListSeance_ByDate()
getListSeance_ByActivite()
4 date_seance deleteSeance(Seance)
incrementerCapacite(Seance)
decrementerCapacite(Seance)
40
Chapitre II : Modèle d’analyse et de conception
41
Chapitre II : Modèle d’analyse et de conception
4 mode_res_activite getActivite_ByMode(mode)
42
Chapitre II : Modèle d’analyse et de conception
2 code_carte getListAbonnementSeance_ByAdhérent(Adhérent)
getAbonnement_ByEtat(etat)
3 etat_abo
hasAbonnementSeance_MultiSalle(Adhérent)
4 nombre_seance incrementer_nbreSeance(Abonnement_seance)
deccrementer_nbreSeance(Abonnement_seance)
43
Chapitre II : Modèle d’analyse et de conception
Généralisation/Spécialisation
Tableau II- 17 : Généralisation/Spécialisation
Super-Classe Sous-Classes
Abonnement_Seance
Abonnement
Abonnement_Prepaye
Membre Adherent
44
Chapitre II : Modèle d’analyse et de conception
45
Chapitre II : Modèle d’analyse et de conception
46
Chapitre II : Modèle d’analyse et de conception
o Un adhérent ne peut pas réserver un terrain (local) pour une seule personne.
47
Chapitre II : Modèle d’analyse et de conception
48
Chapitre II : Modèle d’analyse et de conception
49
Chapitre II : Modèle d’analyse et de conception
50
Chapitre II : Modèle d’analyse et de conception
II.5. Conclusion
Dans cette phase, nous avons pu capturer les besoins des utilisateurs, analysé tous les
cas d’utilisation et conçu la plupart d’entre eux. Dans ce qui suit nous détaillons des aspects
d’implémentation.
51
Chapitre III : MODELE
D’IMPLÉMENTATION
Chapitre. III.
Chapitre III : Modèle d’implémentation
III.1. Introduction
Suite à l’analyse et la conception des fonctionnalités des cas d’utilisation, nous
présentons dans ce qui suit des aspects d’implémentation portant sur l’architecture de
l’application, la mise en œuvre, le test global et le test des services web.
o Le client peut être un client Android ou un client web développé avec jQuery
Mobile afin d’être utilisé sur plusieurs dispositifs. Il correspond à la partie de
l'application visible aux utilisateurs.
o Le service web est la logique métier des services web pour la réutilisabilité
entre les différentes interfaces de l’application.
53
Chapitre III : Modèle d’implémentation
Modèle
Cette partie gère les données. Son rôle est d'aller récupérer les informations « brutes »
dans la base de données, de les organiser et de les assembler pour qu'elles puissent ensuite
être traitées par le contrôleur. On y trouve donc les requêtes SQL.
Vue
Cette partie se concentre sur l'affichage. Elle ne fait presque aucun calcul et se contente
de récupérer des variables pour savoir ce qu'elle doit afficher.
Contrôleur
54
Chapitre III : Modèle d’implémentation
Cette partie gère la logique du code. C'est en quelque sorte l'intermédiaire entre le
modèle et la vue : le contrôleur va demander au modèle les données, les analyser, prendre des
décisions et renvoyer le texte à afficher à la vue. Le contrôleur contient exclusivement du
PHP.
o Une indépendance des données, de l'affichage et des actions (ce qui donne
plus de souplesse pour la maintenabilité et l'évolutivité du système).
Grâce aux services web, les applications peuvent être vues comme un ensemble de
services métiers structurés et correctement décrits.
55
Chapitre III : Modèle d’implémentation
III.3.3.1. Comparaison
Parmi les méthodes déjà citées ci-dessus, nous retiendrons uniquement le protocole
SOAP et l’architecture REST.
Notre but dans ces prototypes est d’effectuer des services web qui traitent des sélections
et des insertions dans une base de données afin d'être utilisés par une tierce partie. Cela
signifie que nous devons être capables de recevoir des requêtes et de retourner une réponse
compréhensible, indépendamment de la plate-forme et de l'architecture distante.
SOAP
SOAP est un protocole de transmission de messages créé dans le but de partager des
données et d'invoquer des méthodes distantes, indépendamment de la plate-forme ou du
serveur sur lequel elles fonctionnent, tant qu'il existe un protocole de communication
permettant d'y accéder, comme par exemple HTTP. [11]
Afin de savoir comment utiliser un service web SOAP, ce dernier est décrit dans un
langage de description de service web basé sur XML : le WSDL (Web Services Description
Language).
o WSDL
WSDL est une grammaire XML utilisée pour donner une définition abstraite des
services, le détail des types de données échangées, les opérations possibles, le protocole
à utiliser ainsi que l'adresse (URL) du service. [12]
Le fichier WSDL de chaque web service peut être publié dans un annuaire. Le fichier
WSDL associé à un web service représente en quelque sorte sa notice d’utilisation.
Nous expliquerons en ce qui suit comment on a utilisé SOAP, WSDL, PHP et Android
en pratique.
56
Chapitre III : Modèle d’implémentation
o Serveur PHP
o Client PHP
o Client Android
57
Chapitre III : Modèle d’implémentation
o Extensible.
REST
REST n'est pas un protocole au même titre que SOAP, mais une architecture définie par
des règles « simples » facilitant l'accès à ces services et basé sur HTTP. [13]
REST est un moyen d'accéder aux documents et aux ressources distantes selon une
architecture logicielle simple, représentée par une API.
o on peut échanger des requêtes entre diverses applications ou média car elles
sont représentées par des URI.
58
Chapitre III : Modèle d’implémentation
o Serveur PHP
o Client PHP
o Client Android
59
Chapitre III : Modèle d’implémentation
60
Chapitre III : Modèle d’implémentation
o Un serveur distant.
o SOA Client (Extension pour Mozilla Firefox) pour tester les services web
SOAP.
61
Chapitre III : Modèle d’implémentation
o Postman (Extension pour Google Chrome) pour tester les services web
REST.
Android
Système d’exploitation open source pour Smartphones, PDA et terminaux
mobile.
PHP
Langage de scripts libre principalement utilisé pour produire des pages web
dynamiques.
MySQL
Système de gestion de base des données (SGBD).
JSON
Format de données textuel, générique, dérivé de la notation des objets du
langage ECMAScript.
jQuery Mobile
Framework jQuery Mobile. Un Framework UI optimisé pour les appareils
tactiles et construit avec jQuery et HTML5.
62
Chapitre III : Modèle d’implémentation
63
Chapitre III : Modèle d’implémentation
Selon [15], il existe cinq règles opérationnelles pour traduire un schéma conceptuel
UML en un schéma relationnel équivalent.
Chaque classe du diagramme UML devient une relation. Il faut choisir un attribut de la
classe pouvant jouer le rôle d’identifiant.
Il faut ajouter un attribut de type clé étrangère dans la relation fils (0..*) de
l’association. L’attribut porte le nom de la clé primaire de la relation père (1) de l’association.
L’association (classe-association) devient une relation dont la clé primaire est composée
par la concaténation des identifiants des classes connectées à l’association. Chaque attribut
devient clé étrangère si la classe connectée dont il provient devient une relation en vertu de la
règle 1. Les attributs de l’association (classe-association) doivent être ajoutés à la nouvelle
relation. Ces attributs ne sont ni clé primaire, ni clé étrangère.
64
Chapitre III : Modèle d’implémentation
Il faut ajouter un attribut clé étrangère dans la relation dérivée de l’entité ayant la
multiplicité minimale égale à un. L’attribut porte le nom de la clé primaire de la relation
dérivée de la classe connectée à l’association.
Si les deux cardinalités minimales sont à un, il est sans doute préférable de fusionner les
deux classes en une seule.
Trois décompositions sont possibles pour traduire une association d’héritage en fonction
des contraintes existantes :
o Décomposition descendante (push-down) :
Il faut migrer tous les attributs de la relation issue de la sur-classe dans les relations
issues des sous-classes.
Il faut supprimer les relations issues des sous-classes et faire migrer les attributs dans la
relation issue de la sur-classe.
Nous pouvons alors déduire le modèle logique des données optimisées permettant le
passage du diagramme de classes au modèle relationnel.
65
Chapitre III : Modèle d’implémentation
66
Chapitre III : Modèle d’implémentation
SOAP
Pour tester nos services web avec le protocole SOAP, nous avons utilisé l’outil SOA
Client (Extension pour Mozilla Firefox).
67
Chapitre III : Modèle d’implémentation
REST
Pour tester nos services web, nous avons utilisé l’outil Postman (Extension pour Google
Chrome).
68
Chapitre III : Modèle d’implémentation
Figure III- 9 : Ecran Figure III- 10 : Ecran de Figure III- 11 : Ecran de
d’authentification menu paramètres
Figure III- 12 : Ecran choix Figure III- 13 : Ecran liste Figure III- 14 : Ecran de
du type d’abonnement d’abonnements prépayé menu
70
Chapitre III : Modèle d’implémentation
Figure III- 15 : Ecran de Figure III- 16 : Ecran de Figure III- 17 : Ecran de la
liste d’abonnement séance choix du type de ressource à liste des leçons
réserver
Figure III- 18 : Ecran de Figure III- 19 : Ecran de la Figure III- 20 : Ecran du
menu liste des terrains choix de la date et le
nombre de personnes
71
Chapitre III : Modèle d’implémentation
Figure III- 21 : Ecran des Figure III- 22 : Ecran des Figure III- 23 : Ecran de
créneaux des terrains da la créneaux des terrains réservation
date choisie
72
Chapitre III : Modèle d’implémentation
73
Chapitre III : Modèle d’implémentation
74
Chapitre III : Modèle d’implémentation
75
Chapitre III : Modèle d’implémentation
III.9.2. Apports
Au cours de l’élaboration de notre projet nous avons enrichi nos connaissances
théoriques à travers la conception et le développement d’un cas réel de gestion des activités
sportives pour une salle de sport ; Ce qui nous a permis de découvrir le système
d’information des salles de sport et de nous familiarisée au Framework jQuery Mobile et
Android Suite à la réalisation d’une application web et mobile. Par ailleurs, on a maitrisé les
protocoles d’invocation des services web.
76
Chapitre III : Modèle d’implémentation
III.10. Conclusion
Nous avons présenté dans ce chapitre l’architecture physique de notre système ainsi
que nos choix techniques pour la réalisation de l’application en expliquant leurs atouts et
utilités, par la suite nous avons élaboré le diagramme de déploiement. Dans la deuxième
partie, on a présenté une simulation des interactions entre utilisateurs et l’application à travers
un scénario de réservation.
77
Conclusion générale
CONCLUSION
GENERALE
Dans ce travail nous avons conçu et implémenté un système de gestion des activités
sportives accessible à partir d’un dispositif mobile.
Par ailleurs, nous avons étendu l’accès à l’application à travers une interface web avec
l’enrichissement des fonctionnalités puisque le responsable pourra effectuer des planifications
des activités et de les contrôler à travers les statistiques de réservations.
78
BIBLIOGRAPHIE
BIBLIOGRAPHIE
[3] : [Joseph GABAY, David GABAY, UML 2 Analyse et Conception, Dunod, Paris, 2008].
[5] : [Cours Conception Orientée Objet des Systèmes d’information, Rafik BOUAZIZ, Faiez
GARGOURI, 2009].
[6] : [Céline DECOSSE & Henri TUDOR, Comment Lire Les Diagrammes UML, 2002].
79
WEBOGRAPHIE
WEBOGRAPHIE
[1] : [http://tecfa.unige.ch/staf/staf-i/gorga/staf2x/classPHP/introobjet.php].
[2] : [http://fr.wikipedia.org/wiki/Unified_Modeling_Language].
[7] : [http://uml.free.fr/cours/i-p21.html].
[9] : [http://grimaldi.univ-tln.fr/LPAI/UML/Diagrammes%20UML.pdf].
[10] : [http://www.9lessons.info/2012/05/create-restful-services-api-in-php.html].
[11] : [http://fr.wikipedia.org/wiki/SOAP].
[12] : [http://fr.wikipedia.org/wiki/Web_Services_Description_Language].
[13] : [http://www.scriptol.fr/programmation/rest.php].
80
: الخالصة
يتمثل هذا المشروع في تصميم و انشاء برنامج إلدارة قاعة رياضة من خالل جهاز محمول مجهز
بالبرمجة أندرويد أو عن طريق المتصفح باسثعمال االطار جكويري• موبايل
(REST) والبروتوكول (RUP) هذا و قد تم تنفيذ هذا العمل باالعتماد علي منهجية
.لتوفير• خدمة ويب
Résumé :
Abstract:
Pôle technologique route tunis Km 10 ; B.P. : 242 SFAX 3021 ؛ صفاقس242 :.ب.؛ ص10 القطب التكنولوجي طريق تونس كلم
8122 33 ; Fax : 216 74 86 24 32
Tél. : 216 74 86 86 24 32 :؛ فاكس33 216 22 86 74 : هاتف3021
www.isimsf.rnu.tn 74 216