41
AEI - Journée du libre - 19 Septembre 2015 Firefox OS dans le web Christophe Villeneuve @hellosct1 AEI - Journée du libre - 19 Septembre 2015

Firefox OS dans le web - Journée du libre 2015 Lille

Embed Size (px)

Citation preview

Page 1: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Firefox OS dans le webChristophe Villeneuve@hellosct1

AEI - Journée du libre - 19 Septembre 2015

Page 2: Firefox OS dans le web - Journée du libre 2015  Lille

Qui... est Christophe Villeneuve ?

afup – lemug.fr – mysql – mariadb – drupal – demoscene – firefoxos – drupagora – phptour – forumphp – solutionlinux – demoinparis – Libre à toi – eyrolles – editions eni – programmez – linux pratique – webriver – phptv – neuros - elephpant

Consultant IT

Page 3: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Aujourd'hui

● Le début du commencement● Vos besoins● Mobile ? Le Quoi !!!● La pratique

Page 4: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Le Web

● Principes simples– URL/HTTP/HTML

● Standards ouverts● Pas de Kit de Dév.● Pas d'autorisation● Disponible en Doc● ...

● 1ère génération

● 2ème génération

Page 5: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Le Futur

● Un web sur...

Smartphone

Tablette

TV OS – exemple : Panasonic

Page 6: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Quelques dates

● 1.0 – Décembre 2012 (Gecko 18)● 1.1 – Mars 2013● 1.2 – Septembre 2013 (Gecko 23)● 1.3 – Janvier 2014 (Gecko 28)● 1.4 – Avril 2014 (Gecko 30)● 2.0 – Juillet 2014 (Gecko 32)● 2.1 – Octobre 2014 (Gecko 34)● 2.2 – Avril 2015 (Gecko 36)● 2.5 - Prévision Fin 2015 (Gecko...)

Page 7: Firefox OS dans le web - Journée du libre 2015  Lille

Plateforme ouverte mobile

Page 8: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Vos besoins

● Technique● Logiciels● Matériels● Composants

Page 9: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Technique : les standards du web

https://developer.mozilla.org/en-US/docs/Web/Tutorials

Page 10: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Logiciels

● Gedit● Notepad++● Eclipse● Brackets● ...

Editeur de texte● Firefox ou autre

– Outils de Débug

– Web IDE

– Firefox OS App Manager

Navigateur

Page 11: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Appareils mobiles (1/2)

Alcatel One TouchFlame

ZTE Open C

GeeksPhone Intex Cloud FX

Et beaucoup d'autres disponibles : https://www.mozilla.org/fr/firefox/os/devices/

LG Fx0 KLIFOpen L Pixi 3

Page 12: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Appareils mobiles (2/2)

Samsung Nexus

Samsung Galaxy

Sony

Etc... Voir : - B2G-Installer en Add-on- Builds communautaires

Page 13: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Page 14: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Contrôle APPs- Multitouch- WebTelephony- WebSMS- Geolocalisation- Battery API- WebNFC- WebVibration

- WebContacts- FullScreen API- Settings API- WebUSB- Camera- WebBluetooth- WebGL

Page 15: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015https://mdn.mozillademos.org/files/4605/FirefoxOS.png

GONK

➢GECKO

➢GAIA

Page 16: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

GONK✔ Couche basse

✔ Kernel Linux + Matériels

✔ Hardware 

✔ libre ou propriétaire✔ Abstraction Layer (HAL)

✔ Pas exposé le JS  ✔ Isolé de Gaia 

✔ Communication par Gecko

Architecture (1/3)

Page 17: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

➢GONK✔ Moteur de rendu HTML5✔ Gestion des API

✔ De plus en plus complet

✔ Exécution des applications (runtime)

✔ Mécanisme de lancement dans Firefox pour HTML 5, CSS & Javascript

Architecture

➢GECKO

Page 18: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

➢GONK

➢GECKO➢➢GAIA

✔ Interface utilisateur (IHM)✔ Construction API Full Web✔ HTML 5 + open Web✔ Communique avec Gecko via des Web API✔ Les Apps sont exécutés en mode sandbox✔ Offline

✔ LocalStorage, appCache

Architecture

Page 19: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Page 20: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Architecture

Firefox OSWeb

Page 21: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Icônes

Ex : Firefox OS 2.x Pour nous

● icone-16.png

● icone-32.png

● icone-48.png

● icone-64.png

● icone-128.png

● icone-512.png

Page 22: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

{

  "version": "1.0",

  "name": "Batterie",

  "description": "Gestion de la batterie",

  "launch_path": "/index.html",

  "icons": {

    "16": "/img/icons/rmll­16.png",

    "32": "/img/icons/rmll­32.png",

    "64": "/img/icons/rmll­64.png",

    "128": "/img/icons/rmll­128.png",

    "256": "/img/icons/rmll­256.png",

  },

  "developer": {

    "name": "Hello / Sector One",

    "url": "http://www.hello­design.fr"

  },

  "installs_allowed_from": ["*"],

  "appcache_path": "/manifest.appcache",

  "locales": {

    "fr": {

      "name" : "Batterie",         

      "description": "gestion de la batterie",

      "developer": {

        "url": "http://www.rmll.info"

      }

    }

  },

  "default_locale": "en"

}

Manifest.webapp

Options possibles : - Fullscreen- Permission- Orientation- Serveur- Etc.

https://developer.mozilla.org/en-US/Apps/Build/Manifest

Page 23: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

CACHE MANIFEST

# Version 1.0

CACHE:

/css/all.css

/js/lib/all.js

/js/all.js

/index.html

NETWORK:

*

Manifest.appcache

Page 24: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

var battery = navigator.battery || navigator.mozBattery || navigator.webkitBattery;

// définir les éléments

var indicator1 = document.getElementById('indicator1');

var indicator2 = document.getElementById('indicator2');

var batteryCharge = document.getElementById('battery­charge');

var batteryTop = document.getElementById('battery­top');

var chargeIcon = document.getElementById('battery­charging');

// Position indicateur

// 0 Initialisation, 1 batterie chargé, 2 batterie non chargé

var chargingState = 0;

Js/battery.js

Page 25: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

if(battery.charging) {

  // batterie chargé

    if(chargingState == 1 || chargingState == 0) {

 

      batteryTop.style.backgroundColor = 'gold';

      batteryCharge.style.backgroundColor = 'gold';

      indicator2.innerHTML = "Battery is charging";

      chargeIcon.style.visibility = 'visible';

      createNotification("batterie chargé");

      // flip the chargingState flag to 2

      chargingState = 2;

    }

  } 

Js/battery.js (suite)

  } else if(!battery.charging) {

  // Batterie non chargé

    if(chargingState == 2 || chargingState == 0) {

   

      batteryTop.style.backgroundColor = 'yellow';

      batteryCharge.style.backgroundColor = 'yellow';

      indicator2.innerHTML = "Battery not charging";

      chargeIcon.style.visibility = 'hidden';

     

      createNotification("batterie non chargé");

      // flip the chargingState flag to 1

      chargingState = 1;

    }

  }

Page 26: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

<!DOCTYPE html>

<html lang="en" manifest="manifest.appcache">

  <head>

    <meta charset="utf­8" />

    <title>Battery example</title>

    <meta content="Gestion battery" name="description" />

    <meta content="width=device­width, initial­scale=1.0" name="viewport" />

    <link href="/images/32.png" rel="icon" size="32x32" />

    <link href="/images/64.png" rel="icon" size="64x64" />

    <link href="/images/128.png" rel="icon" size="128x128" />

    <link href="/images/256.png" rel="icon" size="256x256" />

    <link href="/css/all.css" rel="stylesheet" type="text/css" />

  </head>

  <body>

    // Votre code

    <script src="/javascripts/all.js" type="text/javascript"></script>

   <button id="install">Install app on device</button>

  </body>

</html>

index.html

Page 27: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Tester l'application

Navigateur

Mobile

http://mdn.github.io/battery-quickstart-finished-example/

Page 28: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Simulateur

● Firefox OS simulator WEBIDEhttps://developer.mozilla.org/fr/docs/Outils/WebIDE

Page 29: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Web IDE

Page 30: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Résultat

Page 31: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Débug

Page 32: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

https://marketplace.firefox.com/developers/

Page 33: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Choisir le moyen de consommer

Le market des smartphones

Supermarché

Page 34: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

✔ 100 % le contrôle✔ Pas d'intermédiaire

✔ Chez vous✔ Déporté✔ Sur la market

✔ N'importe qui peut en développer une

✔ Toutes les Apps ne sont pas libres

Market... Marketplace

Page 35: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

https://marketplace.firefox.com/developers/validator

Validateur

Page 36: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Déployer votre API

https://marketplace.firefox.com/developers/submit/

Page 37: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Catégorie

- Informations- Pays / Langue- Média- Détails- Assistance- Info techniques- Catégories

- Informations- Pays / Langue- Média- Détails- Assistance- Info techniques- Catégories

Page 38: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

API Marketplace

API : http://firefox-marketplace-api.readthedocs.org/en/latest/index.html

Page 39: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

https://marketplace.firefox.com/

Marketplace

Page 40: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

http://marketplace.mozilla.org

http://www.mozilla.org/firefoxos

https://developer.mozilla.org/fr/Firefox_OS/Developing_Gaia

https://developer.mozilla.org/fr/Firefox_OS

http://hacks.mozilla.org

URL ?

Page 41: Firefox OS dans le web - Journée du libre 2015  Lille

AEI - Journée du libre - 19 Septembre 2015

Merci

Blog : http://firefoxos.mozfr.org