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

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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