Covoiturage instantané Projet de Puissance 3: Covoiturage instantané 02/06/2010 Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi 22 Juin 2010 Base de donnée Avancé : Projet Covoiturage
Base de donnée Avancé : Projet Covoiturage
Plan Introduction 1. Présentation de l’application 2. Fonctionnement de l’application a. Environnement b. La base de donnée c. Les modules 3. Démonstration Conclusion Base de donnée Avancé : Projet Covoiturage
Plan Introduction 1. Présentation de l’application 2. Fonctionnement de l’application a. Environnement b. La base de donnée c. Les modules 3. Démonstration Conclusion Base de donnée Avancé : Projet Covoiturage
1. Présentation de l’application Comment faire pour avoir le choix ? Trouver, ou créer de nouveaux moyens de transports qui s’adaptent à nos besoins (lieu et heure) iLico est une application iPhone destinée à un usage immédiat, simple, et efficace. Les trajets effectués sont sur une plage horaire de 24h, iLico est considérée comme le développement numérique de l’autostop, afin d’allouer les moyens de transport privés entre passager et conducteur en milieu urbain. Base de donnée Avancé : Projet Covoiturage 4
1. Présentation de l’application Liste des modules Inscription. Rentrer un trajet pour le conducteur. Chercher un conducteur pour un passager. Ecrire des commentaires. Modifier son profil. Envoyer et recevoir des messages. Base de donnée Avancé : Projet Covoiturage 5
2. Fonctionnement de l’application L’Ordinogramme Base de donnée Avancé : Projet Covoiturage 6
Plan Introduction 1. Présentation de l’application 2. Fonctionnement de l’application a. Environnement b. La base de donnée c. Les modules 3. Démonstration Conclusion Base de donnée Avancé : Projet Covoiturage
Objective-C : C orienté Objet 2. Fonctionnement de l’application Les outils http://developer.apple.com/iphone Objective-C : C orienté Objet
2. Fonctionnement de l’application L’apprentissage
Plan Introduction 1. Présentation de l’application 2. Fonctionnement de l’application a. Environnement b. La base de donnée c. Les modules 3. Démonstration Conclusion Base de donnée Avancé : Projet Covoiturage
2. Fonctionnement de l’application La base de donnée Base de donnée Avancé : Projet Covoiturage 11
2. Fonctionnement de l’application Les requêtes sur la base de donnée 1. Simples requêtes SQL ex: Afficher le profil d’une personne: SELECT * FROM user WHERE LastName = 'Damien' AND FirstName = 'François' 2. Procédure SQL avec boucle Loop 3. Requêtes imbriqués ex: Liste des amis d’une personne : SELECT u.LastName, u.FirstName FROM userconnection uc, user u WHERE uc.idType = '1' AND uc.idUser IN ( SELECT idUser FROM user WHERE LastName = 'Dutourd' AND FirstName = 'Alain' ) AND uc.idUser1 = u.idUser Base de donnée Avancé : Projet Covoiturage 12
Plan Introduction 1. Présentation de l’application 2. Fonctionnement de l’application a. Environnement b. La base de donnée c. Les modules 3. Démonstration Conclusion Base de donnée Avancé : Projet Covoiturage
2. Fonctionnement de l’application Module: Inscription Utilisation du langage SQL: libsqlite3.0.dylib #import <sqlite3.h> INSERT INTO `mydb`.`user` (`idUser` ,`FirstName` ,`LastName` ,`Birthday` ,`Phone` ,`Mail` ,`Adress` ,`idDepartement` ,`idCountry` ,`Picture`) VALUES (NULL , 'Alain', 'Dutourd', '1984-05-31', '0698456587', 'alain.dutourd@free.fr', '35, rue des etangs', '01', '13', NULL) Base de donnée Avancé : Projet Covoiturage 14
Module: Rentrer un trajet pour un conducteur 2. Fonctionnement de l’application Module: Rentrer un trajet pour un conducteur latitude (y) et longitude(x) A : 48.836249, 2.244987 : pont de Billancourt, 92100 B : 48.845697, 2.328179 : ISEP, 75 D : 48.853167, 2.369013 : Bastille, 75 C : 48.864489, 2.38884 : Nation, 75 C D B A Base de donnée Avancé : Projet Covoiturage 15
Module: Rentrer un trajet pour un conducteur 2. Fonctionnement de l’application Module: Rentrer un trajet pour un conducteur L’utilisateur rentre son adresse d’arrivée : UIWebView: Domicile Indicateur d’activité: variables GET; saddr et daddr http://maps.google.fr/?saddr=Paris&daddr=Bayonne Base de donnée Avancé : Projet Covoiturage 16
Module: Rentrer un trajet pour un conducteur 2. Fonctionnement de l’application Module: Rentrer un trajet pour un conducteur Géocodage : Conversion d’adresse postale en coordonnées géographique NSURL *url = [[NSURL alloc] initWithString:@"http://tinygeocoder.com/create-api.php?q=Paris"]; NSData *datas = [[NSData alloc] initWithContentsOfURL:url]; NSString *str = [[NSString alloc] initWithData:datas encoding:NSASCIIStringEncoding]; Base de donnée Avancé : Projet Covoiturage 17
Module: Rentrer un trajet pour un conducteur 2. Fonctionnement de l’application Module: Rentrer un trajet pour un conducteur Le Trajet : A : 48.836249, 2.244987 : Pont de Billancourt, 92100 C : 48.864489, 2.38884 : Nation Distance de 15km à une vitesse 40km/h : 22 min y1 – y2 = 48,836249 – 48,864489 = -0,028240 => y3 = 028240 x1 – x2 = 2,244987 - 2,388840 = -0,143853 => x3 = 143853 Sqrt(x3² + y3²) = sqrt( 797497600 +20693685609) = 146598 146598 = 15000 m 488 = 50 m 146598 / 488 = 300 T = d / v 5 secondes, 50 m à 40km/h Base de donnée Avancé : Projet Covoiturage 18
Module: Rentrer un trajet pour un conducteur 2. Fonctionnement de l’application Module: Rentrer un trajet pour un conducteur Base de donnée Avancé : Projet Covoiturage 19
Module: Rentrer un trajet pour un conducteur 2. Fonctionnement de l’application Module: Rentrer un trajet pour un conducteur […] Base de donnée Avancé : Projet Covoiturage 20
Module: Chercher un trajet pour le passager 2. Fonctionnement de l’application Module: Chercher un trajet pour le passager Le périmètre de ‘récupération du passager’ est défini à 1km. Sachant que 50m 488 unités de coordonnée Google Map 1km 9760 unités C D B A Base de donnée Avancé : Projet Covoiturage
2. Fonctionnement de l’application Module: Chercher un trajet pour le passager SELECT r.DestinationAdress, r.SmokingCar, r.TalkingCar, r.Animal, r.NumberPlace, r.CommentT, r.Lugage, r.idroute, u.LastName, u.FirstName FROM route r, routelist rl, user u, userroute ur WHERE r.idroute = ur.idroute = rl.idroute AND ur.idUser = u.idUser = rl.idUser AND r.idroute IN ( SELECT idroute FROM routelist WHERE CoordinateY >48845697 -9760 AND CoordinateY <48845697 +9760 AND CoordinateX >2328179 -9760 AND CoordinateX <2328179 +9760 AND NOW( ) > DateT AND NOW( ) < ADDTIME( DateT, '00:10:00' ) GROUP BY idroute ) AND r.idroute IN (SELECT idroute FROM routelist WHERE CoordinateY >48853167 -9760 AND CoordinateY <48853167 +9760 AND CoordinateX >2369013 -9760 AND CoordinateX <2369013 +9760 GROUP BY idroute ) GROUP BY u.idUser J’ai travaillé sur le projet TACNAD (TACtical Network Access Device). Ce logiciel est destiné à une cible mobile, plus précisément les assistants personnels (PDA). Ce projet a démarré en 2003. Il permet d’effectuer du déport d’exploitation de poste radio (commande à distance) Cette mission chez THALES comporte de nombreux intérêts. Tout d’abord, sur un plan technique la mission de stage s’intègre parfaitement à mon domaine de compétences et me permet de mettre en pratique les connaissances acquises au cours de ma 1ère année du cycle ingénieur. D’autre part THALES, groupe d’envergure internationale, fournit à ses collaborateurs les moyens matériels de mener leur mission à bien et dans de bonnes conditions. Base de donnée Avancé : Projet Covoiturage 22
2. Fonctionnement de l’application Module: Liste des utilisateurs Contexte : Nombres inconnu d’affichage, donc scroll vertical nécessaire Résolution : - TableViewsControllers - NavigationControllers Base de donnée Avancé : Projet Covoiturage 23
Plan Introduction 1. Présentation de l’application 2. Fonctionnement de l’application a. Environnement b. La base de donnée c. Les modules 3. Démonstration Conclusion Base de donnée Avancé : Projet Covoiturage
Plan Introduction 1. Présentation de l’application 2. Fonctionnement de l’application a. Environnement b. La base de donnée c. Les modules 3. Démonstration Conclusion Base de donnée Avancé : Projet Covoiturage
Base de donnée Avancé : Projet Covoiturage 26