Cahier des charges. Liny EIP 2013 EPITECH. seban_j, jaspar_y, ringue_t, rousse_g, thierr_o



Documents pareils
Point sur les solutions de développement d apps pour les périphériques mobiles

Optimiser pour les appareils mobiles

de logiciels Web 2.0, SaaS Logiciels collaboratifs Portails pour entreprises Développement iphone, Android WebApp HTML5 Mobile marketing

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DEVELOPPEMENT MOBILE - ETAT DE L ART DES SOLUTIONS

Présentation du Framework BootstrapTwitter

les techniques d'extraction, les formulaires et intégration dans un site WEB

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

INGÉNIEUR - DÉVELOPPEUR SENIOR PHP. 28 ans - 8 ans d'expérience

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Devenez un véritable développeur web en 3 mois!

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

App vs. WebApp Best Of Mobile 5 avril 2012

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

Synchroniser ses photos

MANUEL UTILISATEUR. Application 4trip

Architecture Orientée Service, JSON et API REST

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Environnements de développement (intégrés)

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

EIP 2012 Projet Livepad. Documentation technique 1.5

Guide de Démarrage. Introduction... 2 Scénarios pour l utilisation de votre procloud@ocim.ch... 2 Scénarios à venir :... 2

WINDOWS Remote Desktop & Application publishing facile!

Recommandations techniques

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Page : N 1. Guide utilisateur Ma Banque

Avantic Software Présentation de solutions GED pour mobiles (Gestion Electronique de Documents)

Armand PY-PATINEC 2010

Projet de Java Enterprise Edition

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Fiche produit. Important: Disponible en mode SaaS et en mode dédié

Outils de développement collaboratif

Les différents parcours en S4

Offres de stages 2011/2012

Guide de prise en main de la solution NetExplorer

Présentation de l application Smartphone «Risques Nice»

Développement d'un logiciel VoIP BlackBerry

TigerPro CRM Application mobile

Liste des Technologies

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Guide de l'utilisateur de l'application mobile

Bien architecturer une application REST

Développeur - Conseiller - Formateur web

Formations qualifiantes pour demandeurs d emploi

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

Camping, une suite pour développer & fidéliser votre clientèle sur tous les canaux Internet

ACCEDER A SA MESSAGERIE A DISTANCE

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

QPC Informatique vous propose d apporter la mobilité à vos applications de gestion d entreprise sans changer votre outil de gestion interne!

Code Produit Nom Produit Dernière mise à jour. AM003 Alias Mobile On Demand Licence 1 mois 27/04/2015

Comprendre les outils mobiles

LA MOBILITE : ACTEURS, OUTILS,

SOLUTION.Services. ALTECH le 19/10/2012. Tel : Mobile : gtouzan@altech.fr. Page 1 de 16

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013

ACCÉDER A SA MESSAGERIE A DISTANCE

Architecture existante (principale)

Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality

Programmation Web. Madalina Croitoru IUT Montpellier

Formation Utiliser son iphone ou son ipad

Réaliser une démonstration ShoreTel

Solution de Mobilité SAP SUP & AFARIA. Meltz Jérôme

Programmation Web. Introduction

Activités professionnelle N 2

+33 (0) Sarl ISB Altipolis2 av. Du Général Barbot Briancon - France

Applications smartphones : enjeux et perspectives pour les communautés de l'eglise Catholique. Application Smartphone 1

Procédure d enregistrement

Stratégies opérationnelles d APPS-CRM pour smartphones et tablettes

Joomla! Création et administration d'un site web - Version numérique

CTIconnect PRO. Guide Rapide

CATALOGUE DES FORMATIONS LANGUES

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

Inxmail Professional 4.2

Guide utilisation SFR Sync. SFR Business Team - Présentation

PROTECTION DES PÉRIPHÉRIQUES MOBILES ET GESTION DE FLOTTE MOBILE (Kaspersky MDM licence Advanced)

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2

WordPress : principes et fonctionnement

Sécuriser un équipement numérique mobile TABLE DES MATIERES

SYSTÈMES DE PUBLICATION POUR L INTERNET. Beatep Marie-France Landréa - Observatoire de Paris

Petite définition : Présentation :

Configuration du nouveau Bureau Virtuel (BV) collaboratif de Lyon I

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Windows Azure. Principales fonctions

Guide d utilisation. Version 1.1

CONTACT EXPRESS 2011 ASPIRATEUR D S

LES OBJETS CONNECTES


SOMMAIRE 1. NOTRE AGENCE NOS PRESTATIONS NOTRE MÉTHODOLOGIE PROJET NOS OFFRES LES ATOUTS DE NOS OFFRES...

Cahier des charges : gestion de projets agiles. Programmation d Algorithmes Distribués (PAD)

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP. 27 ans - 6 ans d'expérience

Transcription:

EPITECH Cahier des charges Liny seban_j, jaspar_y, ringue_t, rousse_g, thierr_o EIP 2013 Ce document dresse le cahier des charges (CDC) du projet Liny. Il présente Liny, plateforme de rencontres amoureuses via géolocalisation. Le CDC décrit les objectifs du produit. Rend une courte étude de la demande et de l existant. Il dépeint le produit et précise ses fonctionnalités. Le CDC aborde les moyens et technologies utilisés lors du déroulement du projet. 1

Informations sur le projet Groupe : 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 Diffusion Personne Email Rôle Frédéric Rousseau frederic.rousseau@epitech.eu Développeur (Dév.) BlackBerry et Windows Phone 7 Julien Seban julien.seban@epitech.eu Dév. Android, chargé market/communication Olivier olivier.thierry@epitech.eu Dév. iphone et serveur Thierry Thomas thomas.ringuedet@epitech.eu Dév. Android, chargé Ringuedet Yoann Jaspar yoann.jaspar@epitech.eu market/communication Dév. Site web et serveur Historique des révisions du document Version Date Nom Description 1.1 15/05/11 Frédéric Mise au propre du document 1.2 04/07/11 Frédéric Réécriture partielle du document pour répondre aux attentes du labeip 1.3 12/12/11 Frédéric Changement de technologie serveur 1.4 20/02/12 Frédéric Ajout de détails concernant les technologies utilisées pour les applications mobiles + des logiciels utilisés pour le développement 2

Sommaire Introduction... 5 Contexte... 5 L existant... 5 Description de la demande... 6 Les objectifs... 6 Le réseau... 6 La recherche... 7 Facilité et Disponibilité... 7 Le respect de la vie privée... 7 Les fonctions du produit... 8 Inscription/connexion... 8 Accueil... 9 Profile... 9 Donnée personnelle... 10 Description de la personnalité... 10 Description physique... 11 Recherche... 13 Contact... 14 Historique... 15 Paramètre... 17 Contraintes... 18 Déroulement 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 Schémas... 28 Principe basique de Liny... 28 3

Fonctionnement de Liny... 29 Architecture simplifiée du serveur... 30 Fonctionnement simplifié de l algorithme de recherche.... 31 UML... 32 Serveur... 32 Base de donnée... 32 Applications... 33 GANT... 34 Bibliographie... 36 Logiciels utilisés... 38 Développement... 38 Management, mise en commun... 40 4

Introduction Contexte Liny est une plateforme de rencontre amoureuse basée sur les réseaux sociaux et la recherche par géolocalisation. 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. L existant Le leader de la rencontre par internet est Meetic. Composé de 17 millions d utilisateur, il réalise à lui seul 53% du marché des rencontres en France et 23% dans toute l Europe. Les services de Meetic sont payants, une application mobile a été annoncée mais sans réelle spécification. Yuback est la première application de rencontre par géolocalisation sur l iphone, Yuback totalise 1,7 millions d inscrits. L application est un réseau social où tous les connectés peuvent se retrouver. Le but de Liny est d associer ces deux principes et de répondre à une demande d application de rencontre, basée à la fois sur un algorithme de correspondance entre les membres et leurs localisations fréquentes. Tableau comparatif de Liny par rapport à ses principaux concurrents : Meetic Yuback Liny Recherche par affinité X Recherche par géolocalisation X site web iphone X Android X Windows Phone 7 X X BlackBerry X X Démo sans inscription X X Inscription simple X X Interaction Facebook Interaction Twitter X X 5

Description de la demande Les objectifs L objectif de Liny est de faciliter les rencontres amoureuses. Pour atteindre ce but, Liny repose sur un réseau social et la recherche par affections. L application se devra d être disponible, facile d utilisation et respecter la vie privée de ses utilisateurs. Le réseau Le réseau se formera par la rencontre des membres. Cette rencontre s effectue en fonction des préférences des utilisateurs, mais surtout en fonction de la position géo- localisée des membres. Si deux utilisateurs ont rempli leurs profiles, l algorithme peut rechercher les personnes proche de leur personnalité. Suite à l algorithme, une liste d utilisateur et leurs positions sont affichées. Cette liste contient le profil des personnes et leur taux de correspondance. Le profile est composé de la photo, information personnelle (nom, prénom), autre indication choisit par l utilisateur et le taux de confiance. Suite à un rencontre les utilisateurs peuvent laisser des appréciations, qui définissent le taux de confiance. 6

La recherche Liny sera un réseau social géo- localisé, basé sur un algorithme de recherche, intégrant : Proximité o Dans un rayon défini par l utilisateur Profile et préférence o Les préférences et leurs profiles sont analysés par l application pour créer des relations entre utilisateur Confiance o Une note de confiance sera attribuée à chaque membre en fonction des appréciations qu il aura reçu. Facilité et Disponibilité Liny est accessible depuis internet mais surtout depuis les principaux OS de Smartphones disposant d un module de localisation (Android, iphone, BlackBerry, Windows Phone 7). Liny est facile d utilisation par son interface visuelle utilisant les écrans tactiles des terminaux; par la présentation visuelle des résultats de la recherche amoureuse sur une carte. Mais aussi par son système de rendez- vous via itinéraire GPS (après match et acceptation de la rencontre). Le respect de la vie privée Liny respecte la loi Française et les recommandations de la CNIL concernant notamment la conservation, l utilisation et la non divulgation des données utilisateurs. Les applications disposent d une page d options permettant à l utilisateur de mieux protéger sa vie privée. (Mode hors ligne, paramétrage des délais, distances et nombre de matchs) 7

Les fonctions du produit Inscription/connexion L inscription se fait le plus simplement possible, trois possibilités : Se connecter avec Facebook o Utilisation de l api Facebook, connexion en 1 clic Se connecter avec OpenID o Utilisation de l api OpenID, connexion en 1 clic grâce à un compte google, yahoo, blogger, flickr, orange, myspace, wordpress, Créer un compte o grâce à l adresse email et un mot de passe La seule inscription donne un accès très limité aux fonctionnalités. L utilisateur doit remplir suffisamment sont profile pour pouvoir accéder au reste des fonctionnalités. 8

Accueil La page d accueil est la première page que l utilisateur voit après sa connexion. La page correspond à un tableau de bord sur lequel l utilisateur peut accéder à toutes les fonctionnalités de l application en un clic. Profile La page de profile permet à l utilisateur de se définir. Cette page se compose de trois parties : Données personnelles Description de la personnalité Description physique 9

Donné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 Ce que vous recherchez (relation?) Une phrase courte résumant l'utilisateur et ses attentes. Non Ce que vous aimez? Une phrase courte résumant. Non Etude Le niveau d'étude de l'utilisateur. Non Type de travail Le secteur d'activité /job de l'utilisateur. Non Fréquence alcool Fréquence tabac La fréquence de consommation d'alcool de l'utilisateur. La fréquence de consommation de tabac de l'utilisateur. Non Non Fréquence sortie La fréquence de sortie de l'utilisateur. 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% 10

Description physique Nom Description Oblig. Inscription Cheveux (Couleur/Longueur/S tyle) Le style de coiffure de l'utilisateur + couleur de cheveux. Non Yeux La couleur des yeux de l'utilisateur. Non Taille La taille (physique) de l'utilisateur. Non Silhouette La silhouette de l'utilisateur. Non Couleur de peau La couleur de peau de l'utilisateur Non Piercing Tatouage L'utilisateur peut spécifier si il/elle a des piercings. L'utilisateur peut spécifier si il/elle a des tatouages. Non 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

Aperçu des écrans de profil. Aperçu des écrans de création/modification du profile physique 12

Recherche Sur cette page l utilisateur peut effectuer une recherche à l aide de la fonction de géo localisation de son Smartphone. Il a la possibilité d affiner sa recherche en remplissant la liste de critères suivants : Couleurs des cheveux Couleurs des yeux Morphologie Couleur de peau Piercings Tatouages Fumeur Buveur Tranche d âge Disponibilité Une prospection des profils des utilisateurs alentours est alors effectuée. Les membres, dont la grande majorité des caractéristiques correspondent aux restrictions, sont alors affichés sous leurs pseudonymes. Le taux de «confiances» des utilisateurs est aussi affiché. Il permet à l utilisateur de partager un retour d expérience, sous forme de pourcentage. Le nombre d ami en commun est aussi visible pour chaque résultat ce qui augmentera les affinités entre les membres. Il est alors possible d envoyer une invitation au chat puis de partager sa position avec le membre. Celui- ci peut alors consulter le profil détaillé de l utilisateur ciblé. Si l invitation est refusée le membre n apparaîtra plus dans les résultats des futures recherches. Il sera possible de débloquer des contacts via la blacklist disponible dans l écran de paramétrages. 13

Contact La liste des contacts permet à l'utilisateur de garder en mémoire les personnes rencontrées via l'application (après l'acceptation de la dite personne). Il est également possible de synchroniser sa liste avec la liste d'amis de Facebook. Trois fonctionnalités seront implémentées : La «blacklist» : permet de bloquer un contact l'empêchant ainsi de communiquer et de retrouver la personne via l'algorithme de recherche. La «whitelist» : permet d'ajouter la personne à ses contacts. Signaler : permet de signaler toute personne ayant un profile suspect à l'équipe de modération. 14

Historique L'utilisateur aura à disposition un historique lui permettant de garder une trace de son expérience dans Liny. L'historique sera une référence vers les matchs ou les créations de relations qui ont eu lieu. (Voir schéma 1). 15

Chaque historique possédera une vue détaillée différente selon son type. Pour l'exemple des matchs, la vue détaillée mettra à disposition de l'utilisateur la date, le lieu (adresse + carte) et l'état final du match. L'état étant représentatif du choix de l'utilisateur sur le match ainsi que le choix personne dite "matcher" (voir schéma 2). L'utilisateur pourra bien sûr choisir d'effacer les historiques de son choix. Le contenu sera entièrement éditable. 16

Paramètre Cet écran servira au paramétrage général de l'application. Géolocalisation : activer ou désactiver sa localisation G.P.S. pour les autres utilisateurs Notifications: activer ou désactiver l'envoi de notifications par l'application. Champs cachés: définir les champs du profil personnel de l'utilisateur a cacher/afficher aux autres utilisateurs qui n'appartiennent pas à la liste d'amis. Réseaux sociaux: permet de coupler l'application avec un compte Facebook ou Twitter. 17

Contraintes Malgré un ambitieux projet, pendant le développement de celui, nous éprouverons plusieurs difficultés : problème de distance, impossibilité de rencontre entre les développeurs pendant 1 an un faible budget pour s équiper et réalisé des tests correctement une contrainte sur le temps : o Dans les délais des deux ans pour le projet, chaque étudiant sera également occupé sur leurs projets, ou leurs travails en entreprise. Déroulement du projet Liny s exécute sur des terminaux mobiles. Afin de ne pas surcharger les ressources du téléphone et d accélérer le développement des IHM, toutes opération non visuelle est exécutée du coté serveur (Système de web services). Le projet se déroulera en trois temps : - - - développement des communications client/serveur et création du design de l application. Création des IHM, finition de l algorithme de recherche Tests grandeur nature, beta, marketing Liny se découpe en deux parties : 1. Le serveur 2. Les applications sur les diffèrent Smartphone 3. Un site internet Le serveur Le serveur sera la partie la plus important du projet. Il consiste à établir la communication entre les applications. Il s occupe de toutes les fonctions du projet comme l algorithme de recherche et son système de 18

push/notification, les interactions entre membres,, la base de données et toutes les actions qui s y rapportent. C est un serveur de web service REST développé en Ruby et utilisant une base de données MongoDb, de type NoSql. Le serveur est développé avec le Framework Ruby On Rails. La version de Ruby utilisée est la version 1.9.3. Il s agit de la dernière version stable à l heure actuelle. La version de Ruby On Rails est la 3.1. Cette version intègre la gestion du protocole de sécurité SSL que nous utilisons. Le choix de Ruby On Rails se justifie par plusieurs faits : - Le Framework offre la possibilité de développer le site web de liny tout en générant un service web REST retournant du JSON. - Ruby nécessite relativement peu de ligne de code OO Class = Object Oriented Class 19

- L exécution d une application Ruby est globalement rapide. Plus que PHP tout du moins - Ruby consomme relativement peu de mémoire Les versions des langages comparés sont respectivement php 5.2.5, Perl 5.8.8, Python 2.5.1 et Ruby 1.8.6. Plus d infos 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 l implémentation d un algorithme mergesort devant classer un tableau, de 100 nombres, 300 fois : 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 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 : - - - 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 Initialement le serveur de web services devait être développé en C++. Du à un léger retard de développement et aux remarques faites pendant notre soutenance de Bilan Architectural. Nous avons opté pour un framework permettant de développer le site web en même temps que le serveur web Le serveur sera amené à être fréquemment modifiée en fonction des différentes fonctionnalités et problèmes rencontrés. Une personne sera donc dédiée entièrement au serveur tout au long du projet, deux autres personnes s occuperont aussi du développement pour une durée d un an au minimum. Chaque personne sera polyvalente et aura en charge un aspect principal du serveur : communication (REST/JSON), base de donnée, algorithme de recherche Les notifications seront gérées par un batch indépendant. Elles ne seront envoyées qu en cas d un taux de match important. Le taux sera défini pendant la phase de tests. 22

Les applications Le projet sera déployé sur quatre plateformes : ios (iphone) Android Windows phone Blackberry Chaque 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 Apache Cordova. 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. 23

Comme 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. Le site internet Le site internet sera une plateforme ressemblant à l application, intégrant les mêmes fonctionnalités. Il servira également comme présentation du projet, et servira à inciter les utilisateurs à télécharger l application. Le site sera développé avec les nouvelles technologies du web telle que l HTML5, CSS3 et JavaScript. Voir la partie 1) serveur pour plus d infos. 24

Objectifs de fin de tek 4 Notre objectif sera d avoir une application basique fonctionnelle sur chaque plateforme. C est à dire enregistrement/modification de compte, profiles et filtres de recherche. Tests et Seuils d «acceptance» des objectifs établis pour la fin de tek4 L utilisateur est capable de tester l application sans enregistrement. L utilisateur peut s enregistrer. L utilisateur peut créer un profil. L utilisateur peut sauvegarder des filtres de recherche. L enregistrement devra pouvoir être fait par openid, Facebook ou seul. La création de profil doit être visuelle et intuitive. 25

Annexe Glossaire Smartphone : Téléphone nouvelle génération intégrant internet et GPS (iphone, Android, ) OS : Système d exploitation (Operating System). Dans ce document Interface logicielle d un Smartphone. ios : Système d exploitation de l iphone d Apple Android : Système d exploitation, par Google, équipant de nombreux smartphones BlackBerry OS : Système d exploitation des BlackBerry Windows Phone : Système d exploitation, par Microsoft, équipant de nombreux terminaux mobiles. Web Services : Mode de communication client serveur. (Bibliothèques de fonctions distantes permettant de synchroniser les applications mobiles entre elles) NoSQL : 26

Type de base de données non relationnelle MongoDB : Base de données NoSql utilisé par de grandes entreprises Blacklist : Liste noire de contacts Oblig. : Obligatoire Facebook : www.facebook.com, site de référence en réseaux sociaux. Géolocalisation : Localisation G.P.S. du Smartphone IHM : Interface Home- Machine REST : Representational State Transfer. Il s agit d une architecture de web services basé sur l envoie de requêtes http «post»/ «get» et le renvoie de leur résultat, dans notre cas sous forme de données JSON. ROR : Ruby On Rails Webapp: Application web 27

Schémas Principe basique de Liny 28

Fonctionnement de Liny Serveur Données utilisateurs profils, critères, fonctions de recherche Site Web iphone Android BlackBerry Windows phone 7 Légende : Serveur de web services, conserve les comptes utilisateurs, fait le lien entre toutes les IHM Interface utilisateur disponible via application mobile ou site web Données échangées avec le serveur Format de données du serveur à une application : JSON D une application au serveur : POST/GET 29

Architecture simplifiée du serveur Contrôleur Fonctions d échange avec MongoDB, réponses Vue Réponses au format JSON, interprétable par l appli mobile Modèle Fonctions et requêtes MongoDB 30

Fonctionnement simplifié de l algorithme de recherche. Membres à proximités (Trouvés par la comparaison des coordonnées GPS des utilisateurs) Critères de recherches (sexe, âge, ) Recherche de matchs Profils des membres à proximités Profil du membre Recherche de matchs Critères de recherche des membres à proximité Liste de membres classés par poids de match, profiles, taux de confiance. Si un amour potentiel fréquente souvent le lieu où la recherche est lancée, son taux de match peut être augmenté. 31

UML Serveur Base de donnée 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 utilisés Développement Adobe Illustrator Utilisé pour la création de la charte graphique. Ce logiciel permet la création d images vectrices. C est à dire redimensionnables sans perdre la qualité de l image Eclipse Eclipse est un l IDE java officiellement supporté par Android. Il est le seul IDE à intégrer une interface de création graphique en glisser- déposé. XCode C est le logiciel utilisé pour le développement ios mais aussi pour la génération d applications phonegap. PhoneGap Générateur d applications natives pour Smartphone. Il est utilisé pour générer les applications BlackBerry et WP7 38

Adobe Dreamweaver IDE de développement de site web. Il gère l auto complétion et la prévisualisation de site web Textmate de langages. IDE pour Mac, gère l auto complétion pour un nombre important Ripple Il s agit du SDK BlackBerry. Il fourni un visualiseur d applications à la manière d une machine virtuelle BlackBerry OS 39

Management, mise en commun Git Il s agit d un gestionnaire de version. Nous utilisons les serveurs de https://bitbucket.org/ qui présentent l avantage d être gratuit et de nous épargner une installation laborieuse d un serveur git. Un dépôt a été créé pour le serveur et un dépôt pour chaque plateforme mobile de différente technologie. Subversion Utilisé pour les rendu du labeip. Il s agit également d un gestionnaire de version Mediawiki Utilisé pour rassembler la documentation d une manière lisible et facilement accessible. Mediawiki est un cms de wiki (site de documentation) à la wikipedia. 40