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

27
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 0 2 / 0 6 / 2 0 1 0

Upload: reinald-besnard

Post on 03-Apr-2015

119 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 2: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

2 Base de donnée Avancé : Projet Covoiturage

Page 3: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 4: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 5: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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.

Page 6: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 7: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

7 Base de donnée Avancé : Projet Covoiturage

2. Fonctionnement de l’application

LL’’OrdinogrammeOrdinogramme

Page 8: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 9: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 10: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

10

2. Fonctionnement de l’application

LL’’apprentissageapprentissage

Page 11: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 12: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

12 Base de donnée Avancé : Projet Covoiturage

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

2. Fonctionnement de l’application

Page 13: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 14: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 15: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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', '[email protected]', '35, rue des etangs', '01', '13', NULL)

Page 16: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 17: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 18: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 19: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 20: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 21: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 22: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 23: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 24: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 25: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 26: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

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

Page 27: Base de donnée Avancé : Projet Covoiturage Cours : Puissance 3 Projet : Covoiturage Groupe : Thibaut de Broca / Bruno Lange / Vincent Lebel Date: Jeudi

27 Base de donnée Avancé : Projet Covoiturage