[PDF] 2013 CDC5 FR liny - Epitech



Previous PDF Next PDF


















[PDF] modele cahier des charges application mobile

[PDF] cahier des charges applications smartphones

[PDF] devis application mobile pdf

[PDF] problème d'optimisation combinatoire

[PDF] tony buzan booster sa mémoire pdf

[PDF] ouverture numérique d'une fibre optique demonstrat

[PDF] avc echelle fast

[PDF] vite avc

[PDF] question a poser pour detecter un avc

[PDF] fast avc

[PDF] référentiel de certification de la visite médicale

[PDF] leem

[PDF] nouvelle charte visite medicale 2017

[PDF] mathématique appliquée ? la finance pdf

[PDF] theoreme de bezout methode

2013 CDC5 FR liny - Epitech

1EPITECHCa erdesc argesL nyseban_j,jaspar_y,ringue_t,rousse_g,thierr_oEIP2013Cedocumentdresselecahierdescharges(CDC)duprojetLiny.IlprésenteLiny,plateformederencontresamoureusesviagéolocalisation.LeCDCdécritlesobjectifsduproduit.Rendunecourteétudedelademandeetdel'existant.Ildépeintleproduitetprécisesesfonctionnalités.LeCDCabordelesmoyensettechnologiesutiliséslorsdudéroulementduprojet.

2InformationssurleprojetGroupe : seban_j, jaspar_y, ringue_t, rousse_g, thierr_o Nom du projet : Liny Type de document : cahier des charges Version : 1.4 Référence : Liny-CDC-1.4 Statut du document : Livrée DiffusionPersonneEmailRôleFrédéricRousseaufrederic.rousseau@epitech.euDéveloppeur(Dév.)BlackBerryetWindowsPhone7JulienSebanjulien.seban@epitech.euDév.Android,chargémarket/communicationOlivierThierryolivier.thierry@epitech.euDév.iPhoneetserveurThomasRinguedetthomas.ringuedet@epitech.euDév.Android,chargémarket/communicationYoannJasparyoann.jaspar@epitech.euDév.SitewebetserveurHistoriquedesrévisionsdudocumentVersionDateNomDescription1.115/05/11FrédéricMiseaupropredudocument1.204/07/11FrédéricRéécriturepartielledudocumentpourrépondreauxattentesdulabeip1.312/12/11FrédéricChangementdetechnologieserveur1.420/02/12FrédéricAjoutdedétailsconcernantlestechnologiesutiliséespourlesapplicationsmobiles+deslogicielsutiliséspourledéveloppement

6DescriptiondelademandeLesobjectifsL'objectifdeLinyestdefaciliterlesrencontresamoureuses.Pouratteindrecebut,Linyreposesurunréseausocialetlarechercheparaffections.L'applicationsedevrad'êtredisponible,faciled'utilisationetrespecterlavieprivéedesesutilisateurs.Le réseau Leréseauseformeraparlarencontredesmembres.Cetterencontres'effectueenfonctiondespréférencesdesutilisateurs,maissurtoutenfonctiondelapositiongéo-localiséedesmembres.Sideuxutilisateursontremplileursprofiles,l'algorithmepeutrechercherlespersonnesprochedeleurpersonnalité.Suiteàl'algorithme,unelisted'utilisateuretleurspositionssontaffichées.Cettelistecontientleprofildespersonnesetleurtauxdecorrespondance.Leprofileestcomposédelaphoto,informationpersonnelle(nom,prénom),autreindicationchoisitparl'utilisateuretletauxdeconfiance.Suiteàunrencontrelesutilisateurspeuventlaisserdesappréciations,quidéfinissentletauxdeconfiance.

7La recherche Linyseraunréseausocialgéo-localisé,basésurunalgorithmederecherche,intégrant:• Proximitéo Dansunrayondéfiniparl'utilisateur• Profileetpréférenceo Lespréférencesetleursprofilessontanalysésparl'applicationpourcréerdesrelationsentreutilisateur• Confianceo Unenotedeconfianceseraattribuéeàchaquemembreenfonctiondesappréciationsqu'ilaurareçu.Facilité et Disponibilité LinyestaccessibledepuisinternetmaissurtoutdepuislesprincipauxOSdeSmartphonesdisposantd'unmoduledelocalisation(Android,iPhone,BlackBerry,WindowsPhone7).Linyestfaciled'utilisationparsoninterfacevisuelleutilisantlesécranstactilesdesterminaux;parlaprésentationvisuelledesrésultatsdelarechercheamoureusesurunecarte.Maisaussiparsonsystèmederendez-vousviaitinéraireGPS(aprèsmatchetacceptationdelarencontre).Le respect de la vie privée LinyrespectelaloiFrançaiseetlesrecommandationsdelaCNILconcernantnotammentlaconservation,l'utilisationetlanondivulgationdesdonnéesutilisateurs.Lesapplicationsdisposentd'unepaged'optionspermettantàl'utilisateurdemieuxprotégersavieprivée.(Modehorsligne,paramétragedesdélais,distancesetnombredematchs)

8LesfonctionsduproduitInscription/connexionL'inscriptionsefaitleplussimplementpossible,troispossibilités:• SeconnecteravecFacebooko Utilisationdel'apiFacebook,connexionen1clic• SeconnecteravecOpenIDo Utilisationdel'apiOpenID,connexionen1clicgrâceàuncomptegoogle,yahoo,blogger,flickr,orange,myspace,wordpress,...• Créeruncompteo grâceàl'adresseemailetunmotdepasseLaseuleinscriptiondonneunaccèstrèslimitéauxfonctionnalités.L'utilisateurdoitremplirsuffisammentsontprofilepourpouvoiraccéderaurestedesfonctionnalités.

9AccueilLapaged'accueilestlapremièrepagequel'utilisateurvoitaprèssaconnexion.Lapagecorrespondàuntableaudebordsurlequell'utilisateurpeutaccéderàtouteslesfonctionnalitésdel'applicationenunclic.ProfileLapagedeprofilepermetàl'utilisateurdesedéfinir.Cettepagesecomposedetroisparties:• Donnéespersonnelles• Descriptiondelapersonnalité• Descriptionphysique

10Donnée personnelle Nom Description Oblig. Inscription Oblig. matching Nom Le nom de famille de l'utilisateur Oui Oui Prénom Le prénom de l'utilisateur Oui Oui Mail L'adresse e-mail de l'utilisateur Oui Oui Mot de passe Le mot de passe de l'utilisateur Oui Oui Age L'âge de l'utilisateur Oui Oui Sexe Le sexe de l'utilisateur Non Oui Description de la personnalité Nom Description Oblig. Inscription Oblig. matching Ce que vous recherchez (relation ?) Une phrase courte résumant l'utilisateur et ses attentes. Non Oui si profil < 75% Ce que vous aimez ? Une phrase courte résumant. Non Oui si profil < 75% Etude Le niveau d'étude de l'utilisateur. Non Oui si profil < 75% Type de travail Le secteur d'activité /job de l'utilisateur. Non Oui si profil < 75% Fréquence alcool La fréquence de consommation d'alcool de l'utilisateur. Non Oui si profil < 75% Fréquence tabac La fréquence de consommation de tabac de l'utilisateur. Non Oui si profil < 75% Fréquence sortie La fréquence de sortie de l'utilisateur. Non Oui si profil < 75%

11Description physique Nom Description Oblig. Inscription Oblig. matching Cheveux (Couleur/Longueur/Style) Le style de coiffure de l'utilisateur + couleur de cheveux. Non Oui si profil < 75% Yeux La couleur des yeux de l'utilisateur. Non Oui si profil < 75% Taille La taille (physique) de l'utilisateur. Non Oui si profil < 75% Silhouette La silhouette de l'utilisateur. Non Oui si profil < 75% Couleur de peau La couleur de peau de l'utilisateur Non Oui si profil < 75% Piercing L'utilisateur peut spécifier si il/elle a des piercings. Non Oui si profil < 75% Tatouage L'utilisateur peut spécifier si il/elle a des tatouages. Non Oui si profil < 75%

13RechercheSurcettepagel'utilisateurpeuteffectuerunerechercheàl'aidedelafonctiondegéolocalisationdesonSmartphone.Ilalapossibilitéd'affinersarechercheenremplissantlalistedecritèressuivants:• Couleursdescheveux• Couleursdesyeux• Morphologie• Couleurdepeau• Piercings• Tatouages• Fumeur• Buveur• Tranched'âge• DisponibilitéUneprospectiondesprofilsdesutilisateursalentoursestalorseffectuée.Lesmembres,dontlagrandemajoritédescaractéristiquescorrespondentauxrestrictions,sontalorsaffichéssousleurspseudonymes.Leta uxde"confiances»des utilisateurs estaussiaffiché.Ilpermetàl'utilisateurdepartagerunretourd'expérience,sousformedepourcentage.Lenombred'amiencommunestaussivisiblepourchaquerésultatcequiaugmenteralesaffinitésentrelesmembres.Ilestalorspossibled'envoyeruneinvitationauchatpuisdepartagersapositionaveclemembre.Celui -cipeutalors consulterleprofild étaillédel'utilisateurciblé.Sil'invitationestrefuséelemembren'apparaîtraplusdanslesrésultatsdesfuturesrecherches.Ilserapossiblededébloquerdescontactsvialablacklistdisponibledansl'écrandeparamétrages.

14ContactLalistedescontactspermetàl'utilisateurdegarderenmémoirelespersonnesrencontréesvial'application(aprèsl'acceptationdeladitepersonne).Ilestégalementpossibledesynchronisersalisteaveclalisted'amisdeFacebook.Troisfonctionnalitésserontimplémentées:• La"blacklist»:permetdebloqueruncontactl'empêchantainsidecommuniqueretderetrouverlapersonnevial'algorithmederecherche.• La"whitelist»:permetd'ajouterlapersonneàsescontacts.• Signaler:permetdesignalertoutepersonneayantunprofilesuspectàl'équipedemodération.

17ParamètreCetécranserviraauparamétragegénéraldel'application.• Géolocalisation:activeroudésactiversalocalisationG.P.S.pourlesautresutilisateurs• Notifications:activeroudésactiverl'envoidenotificationsparl'application.• Champscachés:définirleschampsduprofilpersonneldel'utilisateuracacher/afficherauxautresutilisateursquin'appartiennentpasàlalisted'amis.• Réseauxsociaux:permetdecouplerl'applicationavecuncompteFacebookouTwitter.

18ContraintesMalgréunambitieuxprojet,pendantledéveloppementdecelui,nouséprouveronsplusieursdifficultés:• problèmededistance,impossibilitéderencontreentrelesdéveloppeurspendant1an• unfaiblebudgetpours'équiperetréalisédestestscorrectement• unecontraintesurletemps:o Danslesdélaisdesdeuxanspourleprojet,chaqueétudiantseraégalementoccupésurleursprojets,ouleurstravailsenentreprise.DéroulementduprojetLinys'exécutesurdesterminauxmobiles.Afindenepassurchargerlesressourcesdutéléphoneetd'accélérerledéveloppementdesIHM,toutesopérationnonvisuelleestexécutéeducotéserveur(Systèmedewebservices).Leprojetsedérouleraentroistemps:- développementdescommunicationsclient/serveuretcréationdudesigndel'application.- CréationdesIHM,finitiondel'algorithmederecherche- Testsgrandeurnature,beta,marketingLinysedécoupeendeuxparties:1. Leserveur2. LesapplicationssurlesdiffèrentSmartphone3. UnsiteinternetLeserveurLeserveurseralapartielaplusimportantduprojet.Ilconsisteàétablirlacommunicationentrelesapplications.Ils'occupedetouteslesfonctionsduprojetcommel'algorithmederechercheetsonsystèmede

19push/notification,lesinteractionsentremembres,...,labasededonnéesettouteslesactionsquis'yrapportent.C'estunserveurdewebserviceRESTdéveloppéenRubyetutilisantunebasededonnéesMongoDb,detypeNoSql.LeserveurestdéveloppéavecleFrameworkRubyOnRails.LaversiondeRubyutiliséeestlaversion1.9.3.Ils'agitdeladernièreversionstableàl'heureactuelle.LaversiondeRubyOnRailsestla3.1.CetteversionintègrelagestionduprotocoledesécuritéSSLquenousutilisons.LechoixdeRubyOnRailssejustifieparplusieursfaits:- LeFrameworkoffrelapossibilitédedévelopperlesitewebdelinytoutengénérantunservicewebRESTretournantduJSON.- RubynécessiterelativementpeudelignedecodeOOClass=ObjectOrientedClass

20- L'exécutiond'uneapplicationRubyestglobalementrapide.PlusquePHPtoutdumoins- RubyconsommerelativementpeudemémoireLesversionsdeslangagescomparéssontrespectivementphp 5.2.5, Perl 5.8.8, Python 2.5.1 et Ruby 1.8.6. Plusd'infossurcesbenchmarkssurxodian.net.

21Laversionactuelle,1.9.xdeRubyestplusdedeuxfoisplusrapidequelaversion1.8.xExempleavecl'implémentationd'unalgorithmemergesortdevantclasseruntableau,de100nombres,300fois: Plus d'infos sur npzrk8rz.wordpress.com Le serveur web faisant tourner l'application Ruby On Rails en environnement de développement est WEBrick. Il s'agit du serveur fourni par le Framework pour le développement. En environnement de production le serveur utilisé est Apache avec le module Passenger. Passenger, en plus d'être performant et facile à paramétrer, est activement maintenu, au contraire de d'autres modules comme fastcgi ou mongrel. La possibilité de chat est gérée par la librairie XMPP4R qui implémente le protocole XMPP

22 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 : - Il s'agit du driver officiel. Développé et supporté par les développeur de MongoDB - Il dispose d'une plus large communauté - Il intègre un système de plugin, ce qui le rend plus extensible si nous avons un jour le besoin de créer notre propre plugin InitialementleserveurdewebservicesdevaitêtredéveloppéenC++.DuàunlégerretarddedéveloppementetauxremarquesfaitespendantnotresoutenancedeBilanArchitectural.NousavonsoptépourunframeworkpermettantdedévelopperlesitewebenmêmetempsqueleserveurwebLeserveurseraamenéàêtrefréquemmentmodifiéeenfonctiondesdifférentesfonctionnalitésetproblèmesrencontrés.Unepersonneseradoncdédiéeentièrementauserveurtoutaulongduprojet,deuxautrespersonness'occuperontaussidudéveloppementpouruneduréed'unanauminimum.Chaquepersonneserapolyvalenteetauraenchargeunaspectprincipalduserveur:communication(REST/JSON),basededonnée,algorithmederechercheLesnotificationsserontgéréesparunbatchindépendant.Ellesneserontenvoyéesqu'encasd'untauxdematchimportant.Letauxseradéfinipendantlaphasedetests.

23LesapplicationsLeprojetseradéployésurquatreplateformes:• iOS(iPhone)• Android• Windowsphone• BlackberryChaque application sera une interface graphique, qui partagera ses données via le serveur. Une personne sera assignée sur chaque plateforme durant toute la durée du projet, en prenant en compte une phase d'apprentissage importante des nouvelles technologies. Application iOS L'application iOS est développée en Native avec l'iPhone Developper SDK et XCode fournis par Apple. Application Android L'application Android est développée en Native avec le SDK android Application Black Berry L'application Black Berry est développée avec PhoneGap 1.4 de Adobe Nitobi. PhoneGap est un framework permettant la création d'applications native pour téléphone mobile en utilisant les technologies web telles que HTML5 et les standards W3C. PhoneGap est open source et est supporté par la fondation apache sous le nom d'ApacheCordova. Ce framework supporté nativement par le SDK BlackBerry permet de générer des applications aussi bien pour téléphone que pour tablette. Des technologies comme le css media query et le framework javascript et open source Jquery seront utilisées afin respectivement d'adapter l'application au format tablette/smartphone, et de rendre l'application fluide et interactive facilement.

24Comme Phonegap implique la création d'une webapp, Dreamweaver CS5.5 sera utilisé. Application Windows Phone7 L'application Windows Phone 7 est, tout comme l'application BlackBerry, développée avec PhoneGap. Ceci a des fins d'accélération de développement. LesiteinternetLesiteinternetserauneplateformeressemblantàl'application,intégrantlesmêmesfonctionnalités.Ilserviraégalementcommeprésentationduprojet,etserviraàinciterlesutilisateursàtéléchargerl'application.Lesiteseradéveloppéaveclesnouvellestechnologiesduwebtellequel'HTML5,CSS3etJavaScript.Voirlapartie1)serveurpourplusd'infos.

28SchémasPrincipe basique de Liny

29Fonctionnement de Liny Légende:Serveurdewebservices,conservelescomptesutilisateurs,faitlelienentretouteslesIHMInterfaceutilisateurdisponibleviaapplicationmobileousitewebDonnéeséchangéesavecleserveurFormatdedonnéesduserveuràuneapplication:JSOND'uneapplicationauserveur:POST/GETServeurDonnéesutilisateursprofils,critères,fonctionsderechercheiPhoneAndroidBlackBerryWindowsphone7SiteWeb

30Architecture simplifiée du serveur ContrôleurFonctionsd'échangeavecMongoDB,réponsesVueRéponsesauformatJSON,interprétableparl'appli'mobileModèleFonctionsetrequêtesMongoDB

31Fonctionnement simplifié de l'algorithme de recherche. Membresàproximités(TrouvésparlacomparaisondescoordonnéesGPSdesutilisateurs)Critèresderecherches(sexe,âge,...)ProfilsdesmembresàproximitésProfildumembreCritèresderecherchedesmembresàproximitéRecherchedematchsRecherchedematchsListedemembresclassésparpoidsdematch,profiles,tauxdeconfiance.Siunamourpotentielfréquentesouventlelieuoùlarechercheestlancée,sontauxdematchpeutêtreaugmenté.

32UMLServeur Base de donnée

33Applications

34GANTFeuille½:

35Feuille2/2:

38LogicielsutilisésDéveloppement AdobeIllustratorUtilisépourlacréationdelachartegraphique.Celogicielpermetlacréationd'imagesvectrices.C'estàdireredimensionnablessansperdrelaqualitédel'imageEclipseEclipseestunl'IDEjavaofficiellementsupportéparAndroid.IlestleseulIDEàintégreruneinterfacedecréationgraphiqueenglisser-déposé.XCodeC'estlelogicielutilisépourledéveloppementiOSmaisaussipourlagénérationd'applicationsphonegap.PhoneGapGénérateurd'applicationsnativespourSmartphone.IlestutilisépourgénérerlesapplicationsBlackBerryetWP7

40Management, mise en commun GitIls'agitd'ungestionnairedeversion.Nousutilisonslesserveursdehttps://bitbucket.org/quiprésententl'avantaged'êtregratuitetdenousépargneruneinstallationlaborieused'unserveurgit.Undépôtaétécréépourleserveuretundépôtpourchaqueplateformemobilededifférentetechnologie.SubversionUtilisépourlesrendudulabeip.Ils'agitégalementd'ungestionnairedeversionMediawikiUtilisépourrassemblerladocumentationd'unemanièrelisibleetfacilementaccessible.Mediawikiestuncmsdewiki(sitededocumentation)àlawikipedia.

quotesdbs_dbs28.pdfusesText_34