serveur http embarqué dans une application android. usages et implémentations

24
Micro serveur http embarqué usages et implémentations HTTP

Upload: guilhem-duche

Post on 24-May-2015

470 views

Category:

Documents


3 download

DESCRIPTION

Présentation iD.apps pour la droidcon Paris 2014.

TRANSCRIPT

Page 1: Serveur http embarqué dans une application Android.  Usages et implémentations

Micro serveur http embarqué

usages et implémentations

HTTP

Page 2: Serveur http embarqué dans une application Android.  Usages et implémentations

About me

Guilhem DuchéExpert Android iD.apps

@theguiguito

Page 3: Serveur http embarqué dans une application Android.  Usages et implémentations

1. Introduction2. Pour quoi faire ?3. Solutions techniques4. Affichage d’informations5. Partage de fichiers6. Avec un chromecast7. Conclusion

Page 4: Serveur http embarqué dans une application Android.  Usages et implémentations

1. Introduction

Page 5: Serveur http embarqué dans une application Android.  Usages et implémentations

1. Introduction

Comment échanger entre différents devices localement ?

Bluetooth => appairage

QRCode => limité

NFC => peu de données, forte proximité

Push => réactivité, débit, compatibilité

Réseau local => Wifi + Serveur HTTP

Page 6: Serveur http embarqué dans une application Android.  Usages et implémentations

2. Pour quoi faire ?

Page 7: Serveur http embarqué dans une application Android.  Usages et implémentations

2. Pour quoi faire ?

Exemples d’applications :▪ Envoi de données dans une application iPad

▪ Airdroid

▪ SuperBeam

Différents types d’usages▪ Affichage/envoi d’information

▪ Partage de fichiers

▪ Serveur accessible localement

Page 8: Serveur http embarqué dans une application Android.  Usages et implémentations

3. Solutions techniques

Page 9: Serveur http embarqué dans une application Android.  Usages et implémentations

3. Solutions techniques

Objectif => pas d’usine à gaz

NanoHttpd :▪ 1 fichier

▪ Support complet http 1.1

▪ Facile à modifier

https://github.com/NanoHttpd/nanohttpd

Restlet▪ Simple pour mise en œuvre API Rest

http://restlet.com/

Page 10: Serveur http embarqué dans une application Android.  Usages et implémentations

4. Affichage d’informations

Page 11: Serveur http embarqué dans une application Android.  Usages et implémentations

4. Affichage d’informations

Projet client avec forte synchronisation DB

Comment débugguer une base SQLite rapidement

Librairie Cardeto : ▪ DB Browsing

▪ Logcat

▪ Clipboard

▪ Static variables

▪ App info

https://github.com/guiguito/Cardeto

Page 12: Serveur http embarqué dans une application Android.  Usages et implémentations

4. Implémentation/démo

Permissions nécessaires

Surcharger le comportement de nanoHttpd

Page 13: Serveur http embarqué dans une application Android.  Usages et implémentations

5. Partage de fichiers

Page 14: Serveur http embarqué dans une application Android.  Usages et implémentations

5. Partage de fichiers

Partage android via wifi▪ Fichiers▪ Images▪ Vidéos▪ Contact▪ Position Google maps▪ Textes

AIRShare▪ Superbeam light▪ Open source▪ NFC/QRCode

https://github.com/guiguito/AIRShare

Page 15: Serveur http embarqué dans une application Android.  Usages et implémentations

5. Implémentation/démo

Partage de fichier avec nano httpd

IP du smarphone en AP

Page 16: Serveur http embarqué dans une application Android.  Usages et implémentations

6. Avec un chromecast

Page 17: Serveur http embarqué dans une application Android.  Usages et implémentations

6. Architecture d’une application chromecast

Page 18: Serveur http embarqué dans une application Android.  Usages et implémentations

6. Idée d’application chromecast

Faire une présentation avec un chromecast▪ PPT▪ PDF

Pas de libs java pour les PPT

Héberger un site dans assets

SlidesCast▪ SlideShare▪ Local Fileshttps://github.com/guiguito/SlidesCast

Page 19: Serveur http embarqué dans une application Android.  Usages et implémentations

Architecture (1/2)

Browser HTML 5

iFrame

Page 20: Serveur http embarqué dans une application Android.  Usages et implémentations

Architecture (2/2)

Page 21: Serveur http embarqué dans une application Android.  Usages et implémentations

Implémentation

Data centric chromecast app

Chromecast :▪ iFrame

▪ HTML 5 post message

Smartphone : ▪ Cast Companion Library▪ SlideShare API▪ Viewer.js => support de postmessage▪ NanoHttpd => support des Assets

Page 22: Serveur http embarqué dans une application Android.  Usages et implémentations

7. Conclusion

Page 23: Serveur http embarqué dans une application Android.  Usages et implémentations

Implémentation/démo

Wifi is not dead

Ne pas se priver d’un serveur HTTP embarqué▪ Simple à utiliser

▪ Simple à modifier

▪ Efficace

▪ Compatibilité du HTTP

Réutiliser les exemples Open source

Page 24: Serveur http embarqué dans une application Android.  Usages et implémentations

@theguiguito

https://github.com/guiguito

iD.appshttp://www.id-apps.fr

http://blog.id-apps.info

@iD_apps

Guilhem DUCHE