![Page 1: Serveur http embarqué dans une application Android. Usages et implémentations](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/1.jpg)
Micro serveur http embarqué
usages et implémentations
HTTP
![Page 2: Serveur http embarqué dans une application Android. Usages et implémentations](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/2.jpg)
About me
Guilhem DuchéExpert Android iD.apps
@theguiguito
![Page 3: Serveur http embarqué dans une application Android. Usages et implémentations](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/4.jpg)
1. Introduction
![Page 5: Serveur http embarqué dans une application Android. Usages et implémentations](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/6.jpg)
2. Pour quoi faire ?
![Page 7: Serveur http embarqué dans une application Android. Usages et implémentations](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/8.jpg)
3. Solutions techniques
![Page 9: Serveur http embarqué dans une application Android. Usages et implémentations](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/10.jpg)
4. Affichage d’informations
![Page 11: Serveur http embarqué dans une application Android. Usages et implémentations](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/13.jpg)
5. Partage de fichiers
![Page 14: Serveur http embarqué dans une application Android. Usages et implémentations](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/16.jpg)
6. Avec un chromecast
![Page 17: Serveur http embarqué dans une application Android. Usages et implémentations](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/17.jpg)
6. Architecture d’une application chromecast
![Page 18: Serveur http embarqué dans une application Android. Usages et implémentations](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/19.jpg)
Architecture (1/2)
Browser HTML 5
iFrame
![Page 20: Serveur http embarqué dans une application Android. Usages et implémentations](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/20.jpg)
Architecture (2/2)
![Page 21: Serveur http embarqué dans une application Android. Usages et implémentations](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/22.jpg)
7. Conclusion
![Page 23: Serveur http embarqué dans une application Android. Usages et implémentations](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062418/5561d9f4d8b42ab33f8b5c6b/html5/thumbnails/24.jpg)
@theguiguito
https://github.com/guiguito
iD.appshttp://www.id-apps.fr
http://blog.id-apps.info
@iD_apps
Guilhem DUCHE