Beruflich Dokumente
Kultur Dokumente
EIP
2013
Ce
document
dresse
le
cahier
des
charges
(CDC)
du
projet
Liny.
Il
prsente
Liny,
plateforme
de
rencontres
amoureuses
via
golocalisation.
Le
CDC
dcrit
les
objectifs
du
produit.
Rend
une
courte
tude
de
la
demande
et
de
lexistant.
Il
dpeint
le
produit
et
prcise
ses
fonctionnalits.
Le
CDC
aborde
les
moyens
et
technologies
utiliss
lors
du
droulement
du
projet.
Diffusion
Personne
Frdric
Rousseau
Email
frederic.rousseau@epitech.eu
Julien
Seban
Olivier
Thierry
Thomas
Ringuedet
Yoann
Jaspar
julien.seban@epitech.eu
olivier.thierry@epitech.eu
thomas.ringuedet@epitech.eu
yoann.jaspar@epitech.eu
Rle
Dveloppeur
(Dv.)
BlackBerry
et
Windows
Phone
7
Dv.
Android,
charg
market/communication
Dv.
iPhone
et
serveur
Dv.
Android,
charg
market/communication
Dv.
Site
web
et
serveur
Date
Nom
15/05/11
Frdric
04/07/11
Frdric
1.3
1.4
12/12/11
Frdric
20/02/12
Frdric
Description
Mise
au
propre
du
document
Rcriture
partielle
du
document
pour
rpondre
aux
attentes
du
labeip
Changement
de
technologie
serveur
Ajout
de
dtails
concernant
les
technologies
utilises
pour
les
applications
mobiles
+
des
logiciels
utiliss
pour
le
dveloppement
Sommaire
Introduction
..........................................................................................................................................
5
Contexte
.............................................................................................................................................
5
Lexistant
............................................................................................................................................
5
Description
de
la
demande
.............................................................................................................
6
Les
objectifs
......................................................................................................................................
6
Le
rseau
.......................................................................................................................................
6
La
recherche
................................................................................................................................
7
Facilit
et
Disponibilit
...........................................................................................................
7
Le
respect
de
la
vie
prive
.....................................................................................................
7
Les
fonctions
du
produit
..................................................................................................................
8
Inscription/connexion
.................................................................................................................
8
Accueil
.................................................................................................................................................
9
Profile
..................................................................................................................................................
9
Donne
personnelle
..............................................................................................................
10
Description
de
la
personnalit
.........................................................................................
10
Description
physique
............................................................................................................
11
Recherche
.......................................................................................................................................
13
Contact
.............................................................................................................................................
14
Historique
.......................................................................................................................................
15
Paramtre
.......................................................................................................................................
17
Contraintes
..........................................................................................................................................
18
Droulement
du
projet
..................................................................................................................
18
Le
serveur
.......................................................................................................................................
18
Les
applications
...........................................................................................................................
23
Application
iOS
........................................................................................................................
23
Application
Android
..............................................................................................................
23
Application
Black
Berry
.......................................................................................................
23
Application
Windows
Phone7
..........................................................................................
24
Le
site
internet
.............................................................................................................................
24
Objectifs
de
fin
de
tek
4
.................................................................................................................
25
Tests
et
Seuils
d
acceptance
des
objectifs
tablis
pour
la
fin
de
tek4
...............
25
Glossaire
..........................................................................................................................................
26
Schmas
...........................................................................................................................................
28
Principe
basique
de
Liny
.....................................................................................................
28
Fonctionnement
de
Liny
.....................................................................................................
29
Architecture
simplifie
du
serveur
.................................................................................
30
Fonctionnement
simplifi
de
lalgorithme
de
recherche.
.....................................
31
UML
...................................................................................................................................................
32
Serveur
........................................................................................................................................
32
Base
de
donne
.......................................................................................................................
32
Applications
..............................................................................................................................
33
GANT
.................................................................................................................................................
34
Bibliographie
.................................................................................................................................
36
Logiciels
utiliss
...........................................................................................................................
38
Dveloppement
.......................................................................................................................
38
Management,
mise
en
commun
........................................................................................
40
Introduction
Contexte
Liny
est
une
plateforme
de
rencontre
amoureuse
base
sur
les
rseaux
sociaux
et
la
recherche
par
golocalisation.
Elle
sera
disponible
via
un
site
internet,
ainsi
que
sur
les
principaux
terminaux
mobiles
et
tablettes
sous
forme
d'application
iOS,
Android,
Windows
Phone
7
et
BlackBerry.
Lexistant
Meetic
X
X
X
X
X
X
X
X
Yuback
X
X
X
X
X
X
Liny
Description
de
la
demande
Les objectifs
Le rseau
La recherche
Proximit
o Dans
un
rayon
dfini
par
lutilisateur
Profile
et
prfrence
o Les
prfrences
et
leurs
profiles
sont
analyss
par
lapplication
pour
crer
des
relations
entre
utilisateur
Confiance
o Une
note
de
confiance
sera
attribue
chaque
membre
en
fonction
des
apprciations
quil
aura
reu.
Facilit et Disponibilit
Liny
est
accessible
depuis
internet
mais
surtout
depuis
les
principaux
OS
de
Smartphones
disposant
dun
module
de
localisation
(Android,
iPhone,
BlackBerry,
Windows
Phone
7).
Liny
est
facile
dutilisation
par
son
interface
visuelle
utilisant
les
crans
tactiles
des
terminaux;
par
la
prsentation
visuelle
des
rsultats
de
la
recherche
amoureuse
sur
une
carte.
Mais
aussi
par
son
systme
de
rendez-vous
via
itinraire
GPS
(aprs
match
et
acceptation
de
la
rencontre).
Inscription/connexion
Linscription
se
fait
le
plus
simplement
possible,
trois
possibilits
:
Accueil
La
page
daccueil
est
la
premire
page
que
lutilisateur
voit
aprs
sa
connexion.
La
page
correspond
un
tableau
de
bord
sur
lequel
lutilisateur
peut
accder
toutes
les
fonctionnalits
de
lapplication
en
un
clic.
Profile
La
page
de
profile
permet
lutilisateur
de
se
dfinir.
Cette
page
se
compose
de
trois
parties
:
Donnes
personnelles
Description
de
la
personnalit
Description
physique
Donne personnelle
Oblig.
Inscription
Oblig.
matching
Nom
Description
Nom
Oui
Oui
Prnom
Le prnom de l'utilisateur
Oui
Oui
Oui
Oui
Mot de passe
Oui
Oui
Age
L'ge de l'utilisateur
Oui
Oui
Le sexe de l'utilisateur
Sexe
Non
Oui
Description de la personnalit
Nom
Description
Ce que vous
recherchez (relation
?)
Non
Non
Etude
Non
Type de travail
Non
Frquence alcool
Non
Frquence tabac
Non
Frquence sortie
Non
Oblig.
Inscription
Oblig.
matching
Oui
si
profil < 75%
Oui
si
profil < 75%
Oui
si
profil < 75%
Oui
si
profil < 75%
Oui
si
profil < 75%
Oui
si
profil < 75%
Oui
si
profil < 75%
10
Description physique
Nom
Description
Oblig.
Inscription
Cheveux
Le style de coiffure de l'utilisateur +
(Couleur/Longueur/S
couleur de cheveux.
tyle)
Non
Yeux
Non
Taille
Non
Silhouette
La silhouette de l'utilisateur.
Non
Couleur de peau
Non
Piercing
Non
Tatouage
Non
Oblig.
matching
Oui
si
profil < 75%
Oui
si
profil < 75%
Oui
si
profil < 75%
Oui
si
profil < 75%
Oui
si
profil < 75%
Oui
si
profil < 75%
Oui
si
profil < 75%
11
Aperu
des
crans
de
profil.
Aperu
des
crans
de
cration/modification
du
profile
physique
12
Recherche
Sur
cette
page
lutilisateur
peut
effectuer
une
recherche
laide
de
la
fonction
de
go
localisation
de
son
Smartphone.
Il
a
la
possibilit
daffiner
sa
recherche
en
remplissant
la
liste
de
critres
suivants
:
Une
prospection
des
profils
des
utilisateurs
alentours
est
alors
effectue.
Les
membres,
dont
la
grande
majorit
des
caractristiques
correspondent
aux
restrictions,
sont
alors
affichs
sous
leurs
pseudonymes.
Le
taux
de
confiances
des
utilisateurs
est
aussi
affich.
Il
permet
lutilisateur
de
partager
un
retour
dexprience,
sous
forme
de
pourcentage.
Le
nombre
dami
en
commun
est
aussi
visible
pour
chaque
rsultat
ce
qui
augmentera
les
affinits
entre
les
membres.
Il
est
alors
possible
denvoyer
une
invitation
au
chat
puis
de
partager
sa
position
avec
le
membre.
Celui-ci
peut
alors
consulter
le
profil
dtaill
de
lutilisateur
cibl.
Si
linvitation
est
refuse
le
membre
napparatra
plus
dans
les
rsultats
des
futures
recherches.
Il
sera
possible
de
dbloquer
des
contacts
via
la
blacklist
disponible
dans
lcran
de
paramtrages.
13
Contact
La
liste
des
contacts
permet
l'utilisateur
de
garder
en
mmoire
les
personnes
rencontres
via
l'application
(aprs
l'acceptation
de
la
dite
personne).
Il
est
galement
possible
de
synchroniser
sa
liste
avec
la
liste
d'amis
de
Facebook.
Trois
fonctionnalits
seront
implmentes
:
14
Historique
L'utilisateur
aura
disposition
un
historique
lui
permettant
de
garder
une
trace
de
son
exprience
dans
Liny.
L'historique
sera
une
rfrence
vers
les
matchs
ou
les
crations
de
relations
qui
ont
eu
lieu.
(Voir
schma
1).
15
Chaque
historique
possdera
une
vue
dtaille
diffrente
selon
son
type.
Pour
l'exemple
des
matchs,
la
vue
dtaille
mettra
disposition
de
l'utilisateur
la
date,
le
lieu
(adresse
+
carte)
et
l'tat
final
du
match.
L'tat
tant
reprsentatif
du
choix
de
l'utilisateur
sur
le
match
ainsi
que
le
choix
personne
dite
"matcher"
(voir
schma
2).
L'utilisateur
pourra
bien
sr
choisir
d'effacer
les
historiques
de
son
choix.
Le
contenu
sera
entirement
ditable.
16
Paramtre
Cet
cran
servira
au
paramtrage
gnral
de
l'application.
17
Contraintes
Droulement
du
projet
Liny
sexcute
sur
des
terminaux
mobiles.
Afin
de
ne
pas
surcharger
les
ressources
du
tlphone
et
dacclrer
le
dveloppement
des
IHM,
toutes
opration
non
visuelle
est
excute
du
cot
serveur
(Systme
de
web
services).
Le
projet
se
droulera
en
trois
temps
:
-
-
-
Le
serveur
18
push/notification,
les
interactions
entre
membres,
,
la
base
de
donnes
et
toutes
les
actions
qui
sy
rapportent.
Cest
un
serveur
de
web
service
REST
dvelopp
en
Ruby
et
utilisant
une
base
de
donnes
MongoDb,
de
type
NoSql.
Le
serveur
est
dvelopp
avec
le
Framework
Ruby
On
Rails.
La
version
de
Ruby
utilise
est
la
version
1.9.3.
Il
sagit
de
la
dernire
version
stable
lheure
actuelle.
La
version
de
Ruby
On
Rails
est
la
3.1.
Cette
version
intgre
la
gestion
du
protocole
de
scurit
SSL
que
nous
utilisons.
Le
choix
de
Ruby
On
Rails
se
justifie
par
plusieurs
faits
:
-
OO
Class
=
Object
Oriented
Class
19
Les
versions
des
langages
compars
sont
respectivement
php 5.2.5, Perl 5.8.8,
Python 2.5.1 et Ruby 1.8.6. Plus
dinfos
sur
ces
benchmarks
sur
xodian.net.
20
La
version
actuelle,
1.9.x
de
Ruby
est
plus
de
deux
fois
plus
rapide
que
la
version
1.8.x
Exemple
avec
limplmentation
dun
algorithme
mergesort
devant
classer
un
tableau,
de
100
nombres,
300
fois
:
La possibilit de chat est gre par la librairie XMPP4R qui implmente le protocole
XMPP
21
La communication RoR MongoDB se fait via le driver MongoMapper.
Il existe deux driver pour ruby : MongoID et MongoMapper. Ce dernier a t choisi
pour plusieurs raisons :
-
-
-
Initialement
le
serveur
de
web
services
devait
tre
dvelopp
en
C++.
Du
un
lger
retard
de
dveloppement
et
aux
remarques
faites
pendant
notre
soutenance
de
Bilan
Architectural.
Nous
avons
opt
pour
un
framework
permettant
de
dvelopper
le
site
web
en
mme
temps
que
le
serveur
web
Le
serveur
sera
amen
tre
frquemment
modifie
en
fonction
des
diffrentes
fonctionnalits
et
problmes
rencontrs.
Une
personne
sera
donc
ddie
entirement
au
serveur
tout
au
long
du
projet,
deux
autres
personnes
soccuperont
aussi
du
dveloppement
pour
une
dure
dun
an
au
minimum.
Chaque
personne
sera
polyvalente
et
aura
en
charge
un
aspect
principal
du
serveur
:
communication
(REST/JSON),
base
de
donne,
algorithme
de
recherche
Les
notifications
seront
gres
par
un
batch
indpendant.
Elles
ne
seront
envoyes
quen
cas
dun
taux
de
match
important.
Le
taux
sera
dfini
pendant
la
phase
de
tests.
22
Les
applications
iOS
(iPhone)
Android
Windows
phone
Blackberry
Application iOS
Lapplication iOS est dveloppe en Native avec liPhone Developper
SDK et XCode fournis par Apple.
Application Android
Lapplication Android est dveloppe en Native avec le SDK android
23
Comme Phonegap implique la cration dune webapp, Dreamweaver
CS5.5 sera utilis.
Le site internet
Le
site
internet
sera
une
plateforme
ressemblant
lapplication,
intgrant
les
mmes
fonctionnalits.
Il
servira
galement
comme
prsentation
du
projet,
et
servira
inciter
les
utilisateurs
tlcharger
lapplication.
Le
site
sera
dvelopp
avec
les
nouvelles
technologies
du
web
telle
que
lHTML5,
CSS3
et
JavaScript.
Voir
la
partie
1)
serveur
pour
plus
dinfos.
24
25
Annexe
Glossaire
Smartphone
:
Tlphone
nouvelle
gnration
intgrant
internet
et
GPS
(iPhone,
Android,
)
OS
:
Systme
dexploitation
(Operating
System).
Dans
ce
document
Interface
logicielle
dun
Smartphone.
iOS
:
Systme
dexploitation
de
liPhone
dApple
Android
:
Systme
dexploitation,
par
Google,
quipant
de
nombreux
smartphones
BlackBerry
OS
:
Systme
dexploitation
des
BlackBerry
Windows
Phone
:
Systme
dexploitation,
par
Microsoft,
quipant
de
nombreux
terminaux
mobiles.
Web
Services
:
Mode
de
communication
client
serveur.
(Bibliothques
de
fonctions
distantes
permettant
de
synchroniser
les
applications
mobiles
entre
elles)
NoSQL
:
26
Type
de
base
de
donnes
non
relationnelle
MongoDB
:
Base
de
donnes
NoSql
utilis
par
de
grandes
entreprises
Blacklist
:
Liste
noire
de
contacts
Oblig.
:
Obligatoire
Facebook
:
www.facebook.com,
site
de
rfrence
en
rseaux
sociaux.
Golocalisation
:
Localisation
G.P.S.
du
Smartphone
IHM
:
Interface
Home-Machine
REST
:
Representational
State
Transfer.
Il
sagit
dune
architecture
de
web
services
bas
sur
lenvoie
de
requtes
http
post
/
get
et
le
renvoie
de
leur
rsultat,
dans
notre
cas
sous
forme
de
donnes
JSON.
ROR
:
Ruby
On
Rails
Webapp:
Application
web
27
Schmas
28
Fonctionnement de Liny
Serveur
Site Web
iPhone
Android
BlackBerry
Windows
phone
7
Lgende
:
29
Contrleur
Vue
Modle
Fonctions
et
requtes
MongoDB
30
Membres
proximits
(Trouvs
par
la
comparaison
des
coordonnes
GPS
des
utilisateurs)
Critres
de
recherches
(sexe,
ge,
)
Profils
des
membres
proximits
Recherche
de
matchs
Profil
du
membre
Recherche
de
matchs
Critres
de
recherche
des
membres
proximit
31
UML
Serveur
Base de donne
32
Applications
33
GANT
Feuille :
34
Feuille
2/2
:
35
Bibliographie
MSDN
(Microsoft
Developement
Netwok):
http://msdn.microsoft.com/en-us/library/ff402535%28v=vs.92%29.aspx
Apple
iOS
Dev
Center:
http://developer.apple.com/devcenter/ios/index.action
BlackBerry
Developer
Zone:
http://us.blackberry.com/developers/
Android
Developers:
http://developer.android.com/
Ruby
On
Rails
documentation:
http://rubyonrails.org/documentation
MongoDB
Docs:
http://www.mongodb.org/display/DOCS/Home
MongoDB
Ruby
API:
http://api.mongodb.org/ruby/current/
RESTful
Web
Services
(de
Leonard
Richardson
et
Sam
Ruby):
http://oreilly.com/catalog/9780596529260
36
Rdoc
:
http://rdoc.sourceforge.net/
PhoneGap:
http://wiki.phonegap.com/
37
Logiciels
utiliss
Dveloppement
Adobe
Illustrator
Utilis
pour
la
cration
de
la
charte
graphique.
Ce
logiciel
permet
la
cration
dimages
vectrices.
Cest
dire
redimensionnables
sans
perdre
la
qualit
de
limage
Eclipse
Eclipse
est
un
lIDE
java
officiellement
support
par
Android.
Il
est
le
seul
IDE
intgrer
une
interface
de
cration
graphique
en
glisser-dpos.
XCode
Cest
le
logiciel
utilis
pour
le
dveloppement
iOS
mais
aussi
pour
la
gnration
dapplications
phonegap.
PhoneGap
Gnrateur
dapplications
natives
pour
Smartphone.
Il
est
utilis
pour
gnrer
les
applications
BlackBerry
et
WP7
38
Adobe Dreamweaver
IDE
de
dveloppement
de
site
web.
Il
gre
lauto
compltion
et
la
prvisualisation
de
site
web
Textmate
IDE
pour
Mac,
gre
lauto
compltion
pour
un
nombre
important
de
langages.
Ripple
Il
sagit
du
SDK
BlackBerry.
Il
fourni
un
visualiseur
dapplications
la
manire
dune
machine
virtuelle
BlackBerry
OS
39
Git
Subversion
Mediawiki
40