Documentation de conception

Transcription

Documentation de conception
M2L Partners - Conception
Documentation de conception
La présente documentation précise les choix de modélisation, détaille les fonctionnalités (en sus de
la documentation utilisateur), documente la conception de la base de donnes (tables, déclencheurs)
ainsi que les principes retenus pour la réalisation des classes PHP-Objet
A) Cas d’utilisation :
Le site de M2LPartners est destiné à proposer à ses membres la mise en contact pour la pratique
d’activités sportives.
Du point de vue fonctionnel, il y a 2 types d’acteurs : les simples visiteurs et les membres. Un visiteur
devient un membre dès lors qu’il a effectué son inscription.
L’inscription consiste en la création d’un profil constitué d’un pseudo, d’une adresse email et d’un
mot de passe.
Une fois inscrit, un membre peut effectuer les actions suivantes :




Compléter / gérer son profil
Gérer ses disponibilités (créneaux horaires hebdomadaires)
Gérer (envoyer, lire, supprimer) ses messages
Rechercher des partenaires en consultant l’annuaire
Page 1
M2L Partners - Conception
Le site offre également la possibilité d’entrer en contact avec M2L. Le site propose également une
page d’accès ainsi que des informations diverses telles que les clauses de confidentialité et les
conditions générales d’utilisation.
B) Architecture technique
La solution retenue est une application de type WEB dynamique. Le souhait de proposer aux
adhérents une application pouvant être utilisée depuis une grande variété de dispositifs impose une
technologie responsive.
Les éléments sélectionnés pour la mise en œuvre sont les suivants :
Front-end : HTML 5 / CSS 3 / Bootstrap
Back-end : PHP objet, serveur Apache, base de données MySQL
Page 2
M2L Partners - Conception
C) Modélisation du domaine
Une activité est définie par un sport et un niveau de pratique.
Une disponibilité est définie par un jour et un jeu de tranches horaires pour un joueur donné.
Un membre peut écrire / recevoir des messages avec d’autres membres.
D) Base de données :
La base de données M2LPartners est constituée de 4 tables :
1) La table membre
Cette table contient les informations usuelles d’un adhérent telles que :








nom,
prénom,
date de naissance,
téléphone,
sexe,
pseudo,
mot de passe
…
Cette table contient également des informations relatives aux connexions :


la date d’inscription,
la date de dernière connexion
Page 3
M2L Partners - Conception
Déclencheurs : la table membre est dotée de 2 triggers :
ON_MEMBRE_DELETE : ce trigger permet de détruire les activités ainsi que les messages liés au
membre qui se désinscrit.
ON_MEMBRE_INSERT : ce trigger permet d’initialiser les colonnes correspondantes aux dates
d’inscription et de dernière connexion :
2) La table disponibilité
Cette table contient les disponibilités d’un adhérent :



Clé étrangère correspondant au membre
Jour
Créneaux horaires / jour
MySQL offre la possibilité d’utiliser des sets, ce qui permet de choisir plusieurs créneaux horaires par
jour. Les valeurs du set ont des noms tels que 8_10 ou 20_22 pour exprimer des tranches de 2 heures
consécutives.
3) La table activité
Une activité est définie par un sport et un niveau de pratique. Les colonnes sont les suivantes :


Clé étrangère correspondant au membre
Jour
Page 4
M2L Partners - Conception
 Jeu de tranches horaires
4) La table message
Les colonnes de cette table sont les suivantes
 Clé étrangère correspondant au membre émetteur
 Clé étrangère correspondant au membre destinataire
 Objet du message
 Corps du message
 Date de création
 Un statut : lu, non lu
Déclencheur : la création d’un message entraine l’initialisation de sa date de création
Page 5
M2L Partners - Conception
E) Conception PHP :
L’architecture est de type modèle vue contrôleur.
Les vues sont réalisées avec PHP et produisent du HTML5 / CSS3 via le Framework Bootstrap.
L’accès aux données est disponible via une classe unique DataManager qui propose des
méthodes telles que :
 vérifierMotDePasse
 getMembreById
 getMembreByPseudo
 le constructeur qui établit la connexion à la base
Deux contrôleurs sont disponibles :


controleurMembre
controleurSession
Organisation du projet : les fichiers sont placés dans le répertoire racine, les images dans un
répertoire dédié, quelques programmes de test dans un répertoire dédié.
Les modalités d’accès à la base de données (nom serveur, login, mot de passe) sont placées dans
le répertoire database. Ces modalités sont différentes en fonction su serveur retenu (production
ou développement)
Page 6
M2L Partners - Conception
Quelques programmes de test sont disponibles dans le répertoire test :
Tests sur la couche métier
Tests sur la couche d’accès aux données
Fichiers source de l’application
Page 7
M2L Partners - Conception
2 types de vues sont utilisées : les web pages et les modales (boite de dialogue).
Le nom des modales est préfixé par modal (tel que modalInscription.php) et les pages sont
préfixées
par page (tel que pageContact.php).
Les formulaires ont préfixés par form (formLogin par example). La barre de navigation est placée
dans le fichier barreNavigation.php.
F) Environnement de réalisation





Enterprise Architect
L’EDI Eclipse et Visual Studio Express 2013 pour toute la partie PHP/HTML/CSS
Serveur Apache
MySQL
Word 2013
Page 8
M2L Partners - Conception
G) Environnement de production
L’application est hébergée chez le prestataire serveur 1&1.
http://www.1and1.fr/
Page 9