base de donnée avancé : projet covoiturage cours : puissance 3 projet : covoiturage groupe :...

Post on 03-Apr-2015

119 Views

Category:

Documents

9 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Base de donnée Avancé : Projet Covoiturage

Cours : Puissance 3

Projet : Covoiturage

Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel

Date: Jeudi 22 Juin 2010

02/0

6/2 0

10

2 Base de donnée Avancé : Projet Covoiturage

3 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

4 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

5 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.

6 Base de donnée Avancé : Projet Covoiturage

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.

1. Présentation de l’application

7 Base de donnée Avancé : Projet Covoiturage

2. Fonctionnement de l’application

LL’’OrdinogrammeOrdinogramme

8 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

9

2. Fonctionnement de l’application

http://developer.apple.com/iphonehttp://developer.apple.com/iphone

- Objective-C : C orienté ObjetObjective-C : C orienté Objet

Les outilsLes outils

10

2. Fonctionnement de l’application

LL’’apprentissageapprentissage

11 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

12 Base de donnée Avancé : Projet Covoiturage

La base de donnée La base de donnée 

2. Fonctionnement de l’application

13 Base de donnée Avancé : Projet Covoiturage

ex: Afficher le profil d’une personne:   SELECT * FROM userWHERE LastName = 'Damien'AND FirstName = 'François'

2. Fonctionnement de l’application

Les requêtes sur la base de donnéeLes requêtes sur la base de donnée

1. Simples requêtes SQL1. Simples requêtes SQL

2. Procédure SQL avec boucle Loop2. Procédure SQL avec boucle Loop 3. Requêtes imbriqués3. Requêtes imbriqués

ex: Liste des amis d’une personne :  

SELECT u.LastName, u.FirstName FROM userconnection uc, user uWHERE uc.idType = '1'AND uc.idUserIN (SELECT idUser FROM user WHERE LastName = 'Dutourd'AND FirstName = 'Alain'

)AND uc.idUser1 = u.idUser

14 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

15 Base de donnée Avancé : Projet Covoiturage

2. Fonctionnement de l’application

Module: InscriptionModule: 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)

16 Base de donnée Avancé : Projet Covoiturage

A

C

B

A : 48.836249, 2.244987 : pont de Billancourt, 92100B : 48.845697, 2.328179 : ISEP, 75D : 48.853167, 2.369013 : Bastille, 75C : 48.864489, 2.38884 : Nation, 75

D

latitude (y) et longitude(x)Module: Rentrer un trajet pour un conducteur Module: Rentrer un trajet pour un conducteur 

2. Fonctionnement de l’application

17 Base de donnée Avancé : Projet Covoiturage

L’utilisateur rentre son adresse d’arrivée :

variables GET;

saddr et

daddr

http://maps.google.fr/?saddr=Paris&daddr=Bayonne

UIWebView:

Indicateur d’activité:

Domicile

Module: Rentrer un trajet pour un conducteur Module: Rentrer un trajet pour un conducteur 

2. Fonctionnement de l’application

18 Base de donnée Avancé : Projet Covoiturage

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];

Module: Rentrer un trajet pour un conducteur Module: Rentrer un trajet pour un conducteur 

2. Fonctionnement de l’application

19 Base de donnée Avancé : Projet Covoiturage

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 m488 = 50 m

146598 / 488 = 300

T = d / v5 secondes, 50 m à 40km/h

Module: Rentrer un trajet pour un conducteur Module: Rentrer un trajet pour un conducteur 

2. Fonctionnement de l’application

20 Base de donnée Avancé : Projet Covoiturage

Module: Rentrer un trajet pour un conducteur Module: Rentrer un trajet pour un conducteur 

2. Fonctionnement de l’application

21 Base de donnée Avancé : Projet Covoiturage

[…]

Module: Rentrer un trajet pour un conducteur Module: Rentrer un trajet pour un conducteur 

2. Fonctionnement de l’application

22 Base de donnée Avancé : Projet Covoiturage

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

A

C

B

D

Module: Chercher un trajet pour le passagerModule: Chercher un trajet pour le passager

2. Fonctionnement de l’application

23 Base de donnée Avancé : Projet Covoiturage

SELECT r.DestinationAdress, r.SmokingCar, r.TalkingCar, r.Animal, r.NumberPlace, r.CommentT, r.Lugage, r.idroute, u.LastName, u.FirstNameFROM route r, routelist rl, user u, userroute urWHERE r.idroute = ur.idroute = rl.idrouteAND ur.idUser = u.idUser = rl.idUserAND r.idrouteIN (

SELECT idrouteFROM routelistWHERE CoordinateY >48845697 -9760AND CoordinateY <48845697 +9760AND CoordinateX >2328179 -9760AND CoordinateX <2328179 +9760AND NOW( ) > DateTAND NOW( ) < ADDTIME( DateT, '00:10:00' )  GROUP BY idroute)AND r.idrouteIN (SELECT idrouteFROM routelistWHERE CoordinateY >48853167 -9760AND CoordinateY <48853167 +9760AND CoordinateX >2369013 -9760AND CoordinateX <2369013 +9760GROUP BY idroute)GROUP BY u.idUser

Module: Chercher un trajet pour le passagerModule: Chercher un trajet pour le passager

2. Fonctionnement de l’application

24 Base de donnée Avancé : Projet Covoiturage

Contexte :

Nombres inconnu d’affichage, donc scroll vertical nécessaire

Résolution :

- TableViewsControllers

- NavigationControllers

2. Fonctionnement de l’application

Module: Liste des utilisateursModule: Liste des utilisateurs

25 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

26 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

27 Base de donnée Avancé : Projet Covoiturage

top related