SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
JDLL – 3 Avril 2016
Contrôler votre matériel
par les Apps
JDLL – 3 Avril 2016
Christophe Villeneuve
@hellosct1
JDLL – 3 Avril 2016
Qui ???
Christophe
Villeneuve
JDLL – 3 Avril 2016
Aujourd'hui...
● Il parle de quoi ? Matériels / OS / Autres
● 42….
● Non…. 31 Apps
● Les possibilités
● Et moi !!! Et moi !!!
Matériels / OS / Autres
JDLL – 3 Avril 2016
Contrôler votre matériel
par les Apps
JDLL – 3 Avril 2016
Christophe Villeneuve
@hellosct1
Sécurité / Protections
JDLL – 3 Avril 2016
Liste des webApps dispo (1/2)
● Bluetooth
● Mobile Connecté API
● Dworkin Information
API
● Dworkin stars API
● TCP Socket API
● Phonolite
● Web SMS
● Ambient Light Sensor
API
● Battery status API
● Camera API
● Geolocalisation API
● Pointer Lock API
● Power Management API
● Proximity API
● Device Orientation API
API Communication API Matériels
JDLL – 3 Avril 2016
Liste des webApps dispo (2/2)
● Contacts API
● Device Storage API
● FileHandle API
● IndexedDB
● Settings API
● Alarm API
● Apps API
● Browser API
● Idle API
● Permissions API
● Simple Push API
● Time/clock API
● Web Activités
● WebPayment API
API de gestion des données API Autres
Applications
42
Aujourd'hui :
Plus de 30 Apps
Aujourd'hui :
Plus de 30 Apps
JDLL – 3 Avril 2016
Téléphone
- Multitouch
- WebTelephony
- WebSMS
- Geolocalisation
- Battery API
- WebNFC
- WebVibration
- WebContacts
- FullScreen API
- Settings API
- WebUSB
- Camera
- WebBluetooth
- WebGL
JDLL – 3 Avril 2016
Alimentation : Battery
● HTML 5
● Source importante pour un site web
● Avoir des informations sur le matériel des visiteurs
– Combien de batterie il vous reste
– Si vous utilisez un système mobile :
Smartphone, Tablette, Ordinateur portable
● But : économiser votre batterie
● Valider par W3C
JDLL – 3 Avril 2016
Battery Manager (1/2)
● Propriétés Disponible
● Obtenir les informations sur le niveau de charge
● Possibilité d'intéragir avec l'API d'état de la batterie
● 4 fonctions importantes
https://developer.mozilla.org/en-US/docs/Web/API/BatteryManager
JDLL – 3 Avril 2016
Battery Manager (2/2)
● Statut de la batterie
BatteryManager.charging
● Temps restant de chargement (en secondes) → 100 %
BatteryManager.chargingTime
● Temps restant avant que la batterie soit décharger
BatteryManager.dischargingTime
● Niveau de la batterie (valeur entre 0 et 1.0)
BatteryManager.level
https://developer.mozilla.org/en-US/docs/Web/API/BatteryManager
JDLL – 3 Avril 2016
Battery Manager : Résultat
JDLL – 3 Avril 2016
Espionnage / Surveillance / Vie Privée
● Les données des batteries peuvent être utiliser pour
vous traquer
● 2 informations (dispo toutes les 30 secondes) :
– Le niveau de charge de votre batterie en pourcentage
– Le temps restant avant que votre batterie ne soit
entièrement vide
● Alertes des chercheurs de sécurité
– Pas de validations et de confirmations
JDLL – 3 Avril 2016
Exemple
Votre Ordinateur
Identifier votre
machine
Identifier votre
machine
Résultat :
Savoir quels sites vous
visitez simultanément
→ Ces données pourront
ensuite être exploitée
JDLL – 3 Avril 2016
Résumé
● Une solution
– Un choix
Matériels / OS / Autres
JDLL – 3 Avril 2016
Pourquoi ?
● Code réutilisable
● Code libre (Freedom)
● Firefox OS est juste pour le web
API Spécifiques
JDLL – 3 Avril 2016
Api spécifique Téléphone / Tablette
● Connection blueTooth
● Mode vibration
● Accès à la géolocalisation
● Contacts
JDLL – 3 Avril 2016
API Spécifique : Périphériques
● Fonctionnalité JS
Element.addEventListener
● But : manière d'enregistrer un écouteur telle que
spécifiée dans le DOM du W3C
● Ecoute :
– Souris : mouse…
– Batterie : chargingchange
– Orientation : deviceorientation
– ...
JDLL – 3 Avril 2016
Connecteurs
● Tactiles
– Touch events
● Joystick
● GamePad
https://developer.mozilla.org/en-US/docs/Web/Guide/API/Gamepad
● Souris
● Télécommande
JDLL – 3 Avril 2016
Connecteurs : Exemple « jeu » 1/2
● Captain Rogers
● Jouabilité
JDLL – 3 Avril 2016
Connecteurs : Exemple « jeu » 2 / 2
window.addEventListener("keydow
n", function(evt) {
console.log(evt.keyCode);
}, this);
window.addEventListener("touchs
tart", function(evt) {
console.log(evt.keyCode);
}, this);
JDLL – 3 Avril 2016
Manette de jeu USB
function keydown(ev)
{
if (!ev) ev = event;
if (game) {
if ((ev.keyCode == 37)||(ev.keyCode == 65)) game.turnShip(0.1);
if ((ev.keyCode == 39)||(ev.keyCode == 68)) game.turnShip(-0.1);
if ((ev.keyCode == 38)||(ev.keyCode == 87)) game.boostShip(10);
if (ev.keyCode == 32) game.shipFire();
if (ev.keyCode == 13) game.startGame();
}
}
JDLL – 3 Avril 2016
API Spécifique : IoT Proximité
● Détection :
element.addEventListener('deviceproximity')
● Communiqué avec d'autres appareils
● Contrôle à distance
JDLL – 3 Avril 2016
API Proximité Exemple 1
● Son / Musique
JDLL – 3 Avril 2016
Exemple 1 Utilisation
● Web API audio
https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
source = audioCtx.createMediaStreamSource(stream);
source.connect(analyser);
analyser.connect(distortion);
distortion.connect(biquadFilter);
biquadFilter.connect(gainNode);
gainNode.connect(audioCtx.destination);
JDLL – 3 Avril 2016
API Proximité Exemple 2
● Tablette / Ecran / Projection
JDLL – 3 Avril 2016
Exemple 2 Utilisation
● Voir slides précédents
Au niveau DEV
JDLL – 3 Avril 2016
Technologies Web
● Technologies Web
– HTML 5 / CSS 3
● Script
– Javascript / Web API
● Graphique
– SVG / WebGL
● Autre
– MathML
JDLL – 3 Avril 2016
WebApps
● Disponible depuis de 1.0
● Script manifest
{
"name": "Mon application",
"description": "Une description courte de l'application",
"launch_path": "/",
"icons": {
"128": "/img/icone-128.png"
},
"developer": {
"name": "Votre nom ou celle de votre organisation",
"url": "http://votre-site-web.org"
},
"default_locale": "fr"
}
JDLL – 3 Avril 2016
Add-ons
● Dispo à partir de Firefox OS 2.5
{
"manifest_version": 1,
"name": "Add-on banner",
"description": "Firefox OS add-on example",
"version": "1.0",
"author": "Chris Mills",
"content_scripts": [{
"matches": ["app://system.gaiamobile.org/index.html"],
"css": ["css/style.css"],
"js": ["js/index.js"]
}],
"icons": {
"128": "/icons/128.png"
}
JDLL – 3 Avril 2016
Compatibilité
● Apache Cordova (PhoneGap)
– Au niveau compatibilité iOS et Android
JDLL – 3 Avril 2016
Hors ligne
● La gestion de CACHE est deprecated
● Service workers API
https://developer.mozilla.org/fr/docs/Web/API/Service_Worker_API
Sécurité / Protections
JDLL – 3 Avril 2016
Protection
● Navigation Privée
● Do Not Track
JDLL – 3 Avril 2016
Permissions
● Autorisation
● Les Applications qui demandent des accès ???
– Contacts
– Géolocalisations
– Etc..
JDLL – 3 Avril 2016
Sécurité : OWASP Top 10 IoT
https://www.owasp.org/index.php/OWASP_Internet_of_Things_Project
● 1-Insecure Web Interface
● 2-Insufficient Authentication/Authorization
● 3-Insecure Network Services
● 4-Lack of Transport Encryption
● 5-Privacy Concerns
● 6-Insecure Cloud Interface
● 7-Insecure Mobile Interface
● 8-Insufficient Security Configurability
● 9-Insecure Software/Firmware
● 10-Poor Physical Security
JDLL – 3 Avril 2016
Ressources
● Guides pour développeur web
– https://developer.mozilla.org/fr/docs/Web/Guide
● Tutoriels pour développeurs Web
– https://developer.mozilla.org/fr/docs/Web/Tutoriels
● Hacks Mozilla
– http://hacks.mozilla.org
● Webapp API
– https://developer.mozilla.org/fr/docs/WebAPI
JDLL – 3 Avril 2016
Comparateur HTML 5 / Mobile
JDLL – 3 Avril 2016
Internet des Objets (iOT)
● CyanogenMod
– Fork de AOSP et CAF (Code Aurora)
● Licence Free
● Modifie le device et le Kernel pour Firefox OS
● Disponible
https://github.com/cm-b2g/B2G.git
JDLL – 3 Avril 2016
Portage 1/2
● pour Android ● Pour Mac
● Modèle● Portage OS Mobile
https://github.com/mozilla-b2g
JDLL – 3 Avril 2016
Portage 2/2
● Arduino
● Raspberry PI et PI2● Chirimen
prochainement
JDLL – 3 Avril 2016
Autre
● TV Panasonic ● OS :
Ronin Web Desktop
Merci
Questions
Christophe Villeneuve
@hellosct1
http://firefoxos.mozfr.org
http://www.mozfr.org

Weitere ähnliche Inhalte

Ähnlich wie Contrôler votre matériel par les apps - JDLL

Développement Android
Développement AndroidDéveloppement Android
Développement AndroidFranck SIMON
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfRihabBENLAMINE
 
Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSMicrosoft
 
Firefox OS de la théorie à la pratique - OSDC
Firefox OS de la théorie à la pratique - OSDCFirefox OS de la théorie à la pratique - OSDC
Firefox OS de la théorie à la pratique - OSDCChristophe Villeneuve
 
Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Hadina RIMTIC
 
ACRA - Présentation PAUG Avril 2011
ACRA - Présentation PAUG Avril 2011ACRA - Présentation PAUG Avril 2011
ACRA - Présentation PAUG Avril 2011Kevin Gaudin
 
01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)TECOS
 
Serveur nomade dans l'nternet des Objets
Serveur nomade dans l'nternet des ObjetsServeur nomade dans l'nternet des Objets
Serveur nomade dans l'nternet des ObjetsChristophe Villeneuve
 
Publier une application mobile en un clic
Publier une application mobile en un clicPublier une application mobile en un clic
Publier une application mobile en un clicFabernovel
 
Les WebExtensions et Firefox - JDLL 2017
Les WebExtensions et Firefox - JDLL 2017Les WebExtensions et Firefox - JDLL 2017
Les WebExtensions et Firefox - JDLL 2017Christophe Villeneuve
 

Ähnlich wie Contrôler votre matériel par les apps - JDLL (20)

Intro Android
Intro AndroidIntro Android
Intro Android
 
iTunes Stats
iTunes StatsiTunes Stats
iTunes Stats
 
Développement Android
Développement AndroidDéveloppement Android
Développement Android
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
 
Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJS
 
Introduction webextensions
Introduction webextensionsIntroduction webextensions
Introduction webextensions
 
Firefox OS de la théorie à la pratique - OSDC
Firefox OS de la théorie à la pratique - OSDCFirefox OS de la théorie à la pratique - OSDC
Firefox OS de la théorie à la pratique - OSDC
 
Le portage des WebExtensions
Le portage des WebExtensionsLe portage des WebExtensions
Le portage des WebExtensions
 
Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016
 
ACRA - Présentation PAUG Avril 2011
ACRA - Présentation PAUG Avril 2011ACRA - Présentation PAUG Avril 2011
ACRA - Présentation PAUG Avril 2011
 
12-Factor
12-Factor12-Factor
12-Factor
 
01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)
 
Serveur nomade dans l'nternet des Objets
Serveur nomade dans l'nternet des ObjetsServeur nomade dans l'nternet des Objets
Serveur nomade dans l'nternet des Objets
 
HTML5 en projet
HTML5 en projetHTML5 en projet
HTML5 en projet
 
Publier une application mobile en un clic
Publier une application mobile en un clicPublier une application mobile en un clic
Publier une application mobile en un clic
 
Acra
Acra Acra
Acra
 
Android 6 marshmallow
Android 6 marshmallowAndroid 6 marshmallow
Android 6 marshmallow
 
La face cachee des web extensions
La face cachee des web extensionsLa face cachee des web extensions
La face cachee des web extensions
 
Les WebExtensions et Firefox - JDLL 2017
Les WebExtensions et Firefox - JDLL 2017Les WebExtensions et Firefox - JDLL 2017
Les WebExtensions et Firefox - JDLL 2017
 
android.pdf
android.pdfandroid.pdf
android.pdf
 

Mehr von Christophe Villeneuve

La boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxLa boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxChristophe Villeneuve
 
controler vos donnees éthiques dans le web
controler vos donnees éthiques dans le webcontroler vos donnees éthiques dans le web
controler vos donnees éthiques dans le webChristophe Villeneuve
 
Open Source et contribution : Une association gagnante
Open Source et contribution : Une association gagnanteOpen Source et contribution : Une association gagnante
Open Source et contribution : Une association gagnanteChristophe Villeneuve
 
Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?Christophe Villeneuve
 
La sécurité applicative par le design
La sécurité applicative par le designLa sécurité applicative par le design
La sécurité applicative par le designChristophe Villeneuve
 
Mozilla french speaking community activites
Mozilla french speaking community activitesMozilla french speaking community activites
Mozilla french speaking community activitesChristophe Villeneuve
 
Monitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et MicrosoftMonitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et MicrosoftChristophe Villeneuve
 
Le futur de l'authentification webAuthn
Le futur de l'authentification webAuthnLe futur de l'authentification webAuthn
Le futur de l'authentification webAuthnChristophe Villeneuve
 
Tests d'accessibilite par la pratique
Tests d'accessibilite par la pratiqueTests d'accessibilite par la pratique
Tests d'accessibilite par la pratiqueChristophe Villeneuve
 

Mehr von Christophe Villeneuve (20)

MariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQLMariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQL
 
La boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxLa boîte à outils de développements dans Firefox
La boîte à outils de développements dans Firefox
 
pister les pisteurs
pister les pisteurspister les pisteurs
pister les pisteurs
 
controler vos donnees éthiques dans le web
controler vos donnees éthiques dans le webcontroler vos donnees éthiques dans le web
controler vos donnees éthiques dans le web
 
Infrastructure as code drupal
Infrastructure as code drupalInfrastructure as code drupal
Infrastructure as code drupal
 
Mariadb une base de données NewSQL
Mariadb une base de données NewSQLMariadb une base de données NewSQL
Mariadb une base de données NewSQL
 
Open Source et contribution : Une association gagnante
Open Source et contribution : Une association gagnanteOpen Source et contribution : Une association gagnante
Open Source et contribution : Une association gagnante
 
Pentest bus pirate
Pentest bus piratePentest bus pirate
Pentest bus pirate
 
Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?
 
La sécurité applicative par le design
La sécurité applicative par le designLa sécurité applicative par le design
La sécurité applicative par le design
 
Foxfooding semaine 3
Foxfooding semaine 3Foxfooding semaine 3
Foxfooding semaine 3
 
Foxfooding
FoxfoodingFoxfooding
Foxfooding
 
Accessibilite web wcag rgaa
Accessibilite web wcag rgaaAccessibilite web wcag rgaa
Accessibilite web wcag rgaa
 
Mozilla french speaking community activites
Mozilla french speaking community activitesMozilla french speaking community activites
Mozilla french speaking community activites
 
Monitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et MicrosoftMonitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et Microsoft
 
Etes vous-pret pour php8 ?
Etes vous-pret pour php8 ?Etes vous-pret pour php8 ?
Etes vous-pret pour php8 ?
 
Le futur de l'authentification webAuthn
Le futur de l'authentification webAuthnLe futur de l'authentification webAuthn
Le futur de l'authentification webAuthn
 
Send large files with addons
Send large files with addonsSend large files with addons
Send large files with addons
 
Tests d'accessibilite par la pratique
Tests d'accessibilite par la pratiqueTests d'accessibilite par la pratique
Tests d'accessibilite par la pratique
 
Donnez la voix aux machines
Donnez la voix aux machinesDonnez la voix aux machines
Donnez la voix aux machines
 

Contrôler votre matériel par les apps - JDLL

  • 1. JDLL – 3 Avril 2016 Contrôler votre matériel par les Apps JDLL – 3 Avril 2016 Christophe Villeneuve @hellosct1
  • 2. JDLL – 3 Avril 2016 Qui ??? Christophe Villeneuve
  • 3. JDLL – 3 Avril 2016 Aujourd'hui... ● Il parle de quoi ? Matériels / OS / Autres ● 42…. ● Non…. 31 Apps ● Les possibilités ● Et moi !!! Et moi !!!
  • 4. Matériels / OS / Autres
  • 5. JDLL – 3 Avril 2016 Contrôler votre matériel par les Apps JDLL – 3 Avril 2016 Christophe Villeneuve @hellosct1
  • 7. JDLL – 3 Avril 2016 Liste des webApps dispo (1/2) ● Bluetooth ● Mobile Connecté API ● Dworkin Information API ● Dworkin stars API ● TCP Socket API ● Phonolite ● Web SMS ● Ambient Light Sensor API ● Battery status API ● Camera API ● Geolocalisation API ● Pointer Lock API ● Power Management API ● Proximity API ● Device Orientation API API Communication API Matériels
  • 8. JDLL – 3 Avril 2016 Liste des webApps dispo (2/2) ● Contacts API ● Device Storage API ● FileHandle API ● IndexedDB ● Settings API ● Alarm API ● Apps API ● Browser API ● Idle API ● Permissions API ● Simple Push API ● Time/clock API ● Web Activités ● WebPayment API API de gestion des données API Autres
  • 9. Applications 42 Aujourd'hui : Plus de 30 Apps Aujourd'hui : Plus de 30 Apps
  • 10. JDLL – 3 Avril 2016 Téléphone - Multitouch - WebTelephony - WebSMS - Geolocalisation - Battery API - WebNFC - WebVibration - WebContacts - FullScreen API - Settings API - WebUSB - Camera - WebBluetooth - WebGL
  • 11. JDLL – 3 Avril 2016 Alimentation : Battery ● HTML 5 ● Source importante pour un site web ● Avoir des informations sur le matériel des visiteurs – Combien de batterie il vous reste – Si vous utilisez un système mobile : Smartphone, Tablette, Ordinateur portable ● But : économiser votre batterie ● Valider par W3C
  • 12. JDLL – 3 Avril 2016 Battery Manager (1/2) ● Propriétés Disponible ● Obtenir les informations sur le niveau de charge ● Possibilité d'intéragir avec l'API d'état de la batterie ● 4 fonctions importantes https://developer.mozilla.org/en-US/docs/Web/API/BatteryManager
  • 13. JDLL – 3 Avril 2016 Battery Manager (2/2) ● Statut de la batterie BatteryManager.charging ● Temps restant de chargement (en secondes) → 100 % BatteryManager.chargingTime ● Temps restant avant que la batterie soit décharger BatteryManager.dischargingTime ● Niveau de la batterie (valeur entre 0 et 1.0) BatteryManager.level https://developer.mozilla.org/en-US/docs/Web/API/BatteryManager
  • 14. JDLL – 3 Avril 2016 Battery Manager : Résultat
  • 15. JDLL – 3 Avril 2016 Espionnage / Surveillance / Vie Privée ● Les données des batteries peuvent être utiliser pour vous traquer ● 2 informations (dispo toutes les 30 secondes) : – Le niveau de charge de votre batterie en pourcentage – Le temps restant avant que votre batterie ne soit entièrement vide ● Alertes des chercheurs de sécurité – Pas de validations et de confirmations
  • 16. JDLL – 3 Avril 2016 Exemple Votre Ordinateur Identifier votre machine Identifier votre machine Résultat : Savoir quels sites vous visitez simultanément → Ces données pourront ensuite être exploitée
  • 17. JDLL – 3 Avril 2016 Résumé ● Une solution – Un choix Matériels / OS / Autres
  • 18. JDLL – 3 Avril 2016 Pourquoi ? ● Code réutilisable ● Code libre (Freedom) ● Firefox OS est juste pour le web API Spécifiques
  • 19. JDLL – 3 Avril 2016 Api spécifique Téléphone / Tablette ● Connection blueTooth ● Mode vibration ● Accès à la géolocalisation ● Contacts
  • 20. JDLL – 3 Avril 2016 API Spécifique : Périphériques ● Fonctionnalité JS Element.addEventListener ● But : manière d'enregistrer un écouteur telle que spécifiée dans le DOM du W3C ● Ecoute : – Souris : mouse… – Batterie : chargingchange – Orientation : deviceorientation – ...
  • 21. JDLL – 3 Avril 2016 Connecteurs ● Tactiles – Touch events ● Joystick ● GamePad https://developer.mozilla.org/en-US/docs/Web/Guide/API/Gamepad ● Souris ● Télécommande
  • 22. JDLL – 3 Avril 2016 Connecteurs : Exemple « jeu » 1/2 ● Captain Rogers ● Jouabilité
  • 23. JDLL – 3 Avril 2016 Connecteurs : Exemple « jeu » 2 / 2 window.addEventListener("keydow n", function(evt) { console.log(evt.keyCode); }, this); window.addEventListener("touchs tart", function(evt) { console.log(evt.keyCode); }, this);
  • 24. JDLL – 3 Avril 2016 Manette de jeu USB function keydown(ev) { if (!ev) ev = event; if (game) { if ((ev.keyCode == 37)||(ev.keyCode == 65)) game.turnShip(0.1); if ((ev.keyCode == 39)||(ev.keyCode == 68)) game.turnShip(-0.1); if ((ev.keyCode == 38)||(ev.keyCode == 87)) game.boostShip(10); if (ev.keyCode == 32) game.shipFire(); if (ev.keyCode == 13) game.startGame(); } }
  • 25. JDLL – 3 Avril 2016 API Spécifique : IoT Proximité ● Détection : element.addEventListener('deviceproximity') ● Communiqué avec d'autres appareils ● Contrôle à distance
  • 26. JDLL – 3 Avril 2016 API Proximité Exemple 1 ● Son / Musique
  • 27. JDLL – 3 Avril 2016 Exemple 1 Utilisation ● Web API audio https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API source = audioCtx.createMediaStreamSource(stream); source.connect(analyser); analyser.connect(distortion); distortion.connect(biquadFilter); biquadFilter.connect(gainNode); gainNode.connect(audioCtx.destination);
  • 28. JDLL – 3 Avril 2016 API Proximité Exemple 2 ● Tablette / Ecran / Projection
  • 29. JDLL – 3 Avril 2016 Exemple 2 Utilisation ● Voir slides précédents
  • 31. JDLL – 3 Avril 2016 Technologies Web ● Technologies Web – HTML 5 / CSS 3 ● Script – Javascript / Web API ● Graphique – SVG / WebGL ● Autre – MathML
  • 32. JDLL – 3 Avril 2016 WebApps ● Disponible depuis de 1.0 ● Script manifest { "name": "Mon application", "description": "Une description courte de l'application", "launch_path": "/", "icons": { "128": "/img/icone-128.png" }, "developer": { "name": "Votre nom ou celle de votre organisation", "url": "http://votre-site-web.org" }, "default_locale": "fr" }
  • 33. JDLL – 3 Avril 2016 Add-ons ● Dispo à partir de Firefox OS 2.5 { "manifest_version": 1, "name": "Add-on banner", "description": "Firefox OS add-on example", "version": "1.0", "author": "Chris Mills", "content_scripts": [{ "matches": ["app://system.gaiamobile.org/index.html"], "css": ["css/style.css"], "js": ["js/index.js"] }], "icons": { "128": "/icons/128.png" }
  • 34. JDLL – 3 Avril 2016 Compatibilité ● Apache Cordova (PhoneGap) – Au niveau compatibilité iOS et Android
  • 35. JDLL – 3 Avril 2016 Hors ligne ● La gestion de CACHE est deprecated ● Service workers API https://developer.mozilla.org/fr/docs/Web/API/Service_Worker_API
  • 37. JDLL – 3 Avril 2016 Protection ● Navigation Privée ● Do Not Track
  • 38. JDLL – 3 Avril 2016 Permissions ● Autorisation ● Les Applications qui demandent des accès ??? – Contacts – Géolocalisations – Etc..
  • 39. JDLL – 3 Avril 2016 Sécurité : OWASP Top 10 IoT https://www.owasp.org/index.php/OWASP_Internet_of_Things_Project ● 1-Insecure Web Interface ● 2-Insufficient Authentication/Authorization ● 3-Insecure Network Services ● 4-Lack of Transport Encryption ● 5-Privacy Concerns ● 6-Insecure Cloud Interface ● 7-Insecure Mobile Interface ● 8-Insufficient Security Configurability ● 9-Insecure Software/Firmware ● 10-Poor Physical Security
  • 40. JDLL – 3 Avril 2016 Ressources ● Guides pour développeur web – https://developer.mozilla.org/fr/docs/Web/Guide ● Tutoriels pour développeurs Web – https://developer.mozilla.org/fr/docs/Web/Tutoriels ● Hacks Mozilla – http://hacks.mozilla.org ● Webapp API – https://developer.mozilla.org/fr/docs/WebAPI
  • 41. JDLL – 3 Avril 2016 Comparateur HTML 5 / Mobile
  • 42.
  • 43. JDLL – 3 Avril 2016 Internet des Objets (iOT) ● CyanogenMod – Fork de AOSP et CAF (Code Aurora) ● Licence Free ● Modifie le device et le Kernel pour Firefox OS ● Disponible https://github.com/cm-b2g/B2G.git
  • 44. JDLL – 3 Avril 2016 Portage 1/2 ● pour Android ● Pour Mac ● Modèle● Portage OS Mobile https://github.com/mozilla-b2g
  • 45. JDLL – 3 Avril 2016 Portage 2/2 ● Arduino ● Raspberry PI et PI2● Chirimen prochainement
  • 46. JDLL – 3 Avril 2016 Autre ● TV Panasonic ● OS : Ronin Web Desktop