SlideShare a Scribd company logo
1 of 41
Download to read offline
Hack On Firefox OS
Christophe Villeneuve
@hellosct1
Qui... est Christophe Villeneuve ?
afup – lemug.fr – mysql – mariadb – drupal – demoscene – firefoxos – drupagora – phptour – forumphp – solutionlinux – demoinparis – ici et maintenant – eyrolles – editions eni – programmez – linux pratique – webriver – phptv – neuros - elephpant
Aujourd'hui
● La connaissance pour tous
● Vos besoins
● Mobile ? Le Quoi !!!
● La pratique
Avant (fin du 20ème siécle)
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
Le mobile / les smartphones
Apple Google Microsoft
Le Futur
● Un web sur smartphone
Au final
Plateforme ouverte mobile
Choisir le moyen de consommer
Le market des
smartphones
Supermarché
Vos besoins
● Matériels
● Technique
● Logiciels
● Composants
Technique : les standards du web
https://developer.mozilla.org/en-US/docs/Web/Tutorials
Logiciels
● Gedit
● Notepad++
● Eclipse
● Brackets
● ...
Editeur de texte
● Firefox ou autre
– Outils de Débug
– Web IDE
– Firefox OS App
Manager
Navigateur
Appareils mobiles (1/2)
Alcatel One Touch
Flame
ZTE
Open C
GeeksPhone Intex
Cloud FX
Et beaucoup d'autres disponibles :
https://www.mozilla.org/fr/firefox/os/devices/
LG Fx0
Appareils mobiles (2/2)
Samsung
Nexus 4
Samsung
Galaxy
Sony
Etc...
Composants → Web apps
Hack On Firefox OS - PSES
https://mdn.mozillademos.org/files/4605/FirefoxOS.png
GONK
➢GECKO
➢GAIA
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)
➢GONK
➢GECKO
✔
 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
➢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
Hack On Firefox OS - PSES
Architecture
Firefox OSWeb
{
  "version": "1.0",
  "name": "Batterie",
  "description": "Gestion de la batterie",
  "launch_path": "/index.html",
  "icons": {
    "48": "/img/icons/api­48.png",
    "128": "/img/icons/api­128.png",
    "512": "/img/icons/api­512.png"
  },
  "developer": {
    "name": "Christophe Villeneuve",
    "url": "http://www.hello­design.fr"
  },
    "installs_allowed_from": [
    "*"
  ],
  "appcache_path": "/cache.manifest",
  "locales": {
    "fr": {
      "description": "Gestion de la batterie",
      "developer": {
        "url": "http://www.hello­design.fr"
      }
    }
  },
  "default_locale": "en"
}
Manifest.webapp
https://developer.mozilla.org/en-US/Apps/Build/Manifest
Options possibles :
- Fullscreen
- Permission
- Orientation
- Serveur
- Etc.
CACHE MANIFEST
# Version 1.0
CACHE:
/css/all.css
/js/lib/all.js
/js/all.js
/index.html
Manifest.appcache
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
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;
    }
  }
<!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
Tester l'application
Navigateur
Mobile
http://mdn.github.io/battery-quickstart-finished-example/
Simulateur
● Firefox OS simulator WEBIDE
https://developer.mozilla.org/fr/docs/Outils/WebIDE
Web IDE
Résultat
Débug
https://marketplace.firefox.com/developers/
✔
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
https://marketplace.firefox.com/developers/validator
Validateur
Déployer votre API
https://marketplace.firefox.com/developers/submit/
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
https://marketplace.firefox.com/
Marketplace
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 ?
Merci
Blog : http://firefoxos.mozfr.org

More Related Content

Viewers also liked

Présentation LeWebLab.com
Présentation LeWebLab.comPrésentation LeWebLab.com
Présentation LeWebLab.comdupin laurent
 
Ultraactividad. nota crítica a la sentencia del tribunal superior de justicia...
Ultraactividad. nota crítica a la sentencia del tribunal superior de justicia...Ultraactividad. nota crítica a la sentencia del tribunal superior de justicia...
Ultraactividad. nota crítica a la sentencia del tribunal superior de justicia...Universidad Autónoma de Barcelona
 
La doctrina de los Tribunales Superiores de Justicia y de la Audiencia Nacion...
La doctrina de los Tribunales Superiores de Justicia y de la Audiencia Nacion...La doctrina de los Tribunales Superiores de Justicia y de la Audiencia Nacion...
La doctrina de los Tribunales Superiores de Justicia y de la Audiencia Nacion...Universidad Autónoma de Barcelona
 
Arbre k schupp
Arbre k schuppArbre k schupp
Arbre k schuppkschupp1
 
Una Visita Al Oculista
Una Visita Al OculistaUna Visita Al Oculista
Una Visita Al Oculistagaratusas
 
Grupo Salinas (Medios)
Grupo Salinas (Medios)Grupo Salinas (Medios)
Grupo Salinas (Medios)guesta74252
 
Présentation de l'évolution des CanSat au CLES-FACIL
Présentation de l'évolution des CanSat au CLES-FACILPrésentation de l'évolution des CanSat au CLES-FACIL
Présentation de l'évolution des CanSat au CLES-FACILCLES-FACIL
 
Spot Desnutricion Cronica
Spot Desnutricion CronicaSpot Desnutricion Cronica
Spot Desnutricion CronicaGobernabilidad
 
L'histoire de Lucky Lucas - Saison 1 - Le commencement
L'histoire de Lucky Lucas - Saison 1 - Le commencementL'histoire de Lucky Lucas - Saison 1 - Le commencement
L'histoire de Lucky Lucas - Saison 1 - Le commencementEytin Eytiwon
 
Découvrez Kryzalid !
Découvrez Kryzalid !Découvrez Kryzalid !
Découvrez Kryzalid !tonydafonseca
 
pablo gudiño
pablo gudiñopablo gudiño
pablo gudiñospokolt
 
Enquête ETI (2012)
Enquête ETI (2012)Enquête ETI (2012)
Enquête ETI (2012)PwC France
 
Acuerdos 13 De Fabrero Seccion 22
Acuerdos 13 De Fabrero Seccion 22Acuerdos 13 De Fabrero Seccion 22
Acuerdos 13 De Fabrero Seccion 22chajar
 
Especies Extintas Economia
Especies Extintas EconomiaEspecies Extintas Economia
Especies Extintas Economiadario
 
Proceso de Almacenamiento
Proceso de AlmacenamientoProceso de Almacenamiento
Proceso de Almacenamientosatars
 

Viewers also liked (20)

Présentation LeWebLab.com
Présentation LeWebLab.comPrésentation LeWebLab.com
Présentation LeWebLab.com
 
Gabriel Loza
Gabriel LozaGabriel Loza
Gabriel Loza
 
Ultraactividad. nota crítica a la sentencia del tribunal superior de justicia...
Ultraactividad. nota crítica a la sentencia del tribunal superior de justicia...Ultraactividad. nota crítica a la sentencia del tribunal superior de justicia...
Ultraactividad. nota crítica a la sentencia del tribunal superior de justicia...
 
La doctrina de los Tribunales Superiores de Justicia y de la Audiencia Nacion...
La doctrina de los Tribunales Superiores de Justicia y de la Audiencia Nacion...La doctrina de los Tribunales Superiores de Justicia y de la Audiencia Nacion...
La doctrina de los Tribunales Superiores de Justicia y de la Audiencia Nacion...
 
Arbre k schupp
Arbre k schuppArbre k schupp
Arbre k schupp
 
Una Visita Al Oculista
Una Visita Al OculistaUna Visita Al Oculista
Una Visita Al Oculista
 
Grupo Salinas (Medios)
Grupo Salinas (Medios)Grupo Salinas (Medios)
Grupo Salinas (Medios)
 
Web.2
Web.2Web.2
Web.2
 
Token Ring
Token RingToken Ring
Token Ring
 
Présentation de l'évolution des CanSat au CLES-FACIL
Présentation de l'évolution des CanSat au CLES-FACILPrésentation de l'évolution des CanSat au CLES-FACIL
Présentation de l'évolution des CanSat au CLES-FACIL
 
Spot Desnutricion Cronica
Spot Desnutricion CronicaSpot Desnutricion Cronica
Spot Desnutricion Cronica
 
L'histoire de Lucky Lucas - Saison 1 - Le commencement
L'histoire de Lucky Lucas - Saison 1 - Le commencementL'histoire de Lucky Lucas - Saison 1 - Le commencement
L'histoire de Lucky Lucas - Saison 1 - Le commencement
 
Trauma abdominal
Trauma abdominalTrauma abdominal
Trauma abdominal
 
Presentacion IES LEVANTE
Presentacion IES LEVANTEPresentacion IES LEVANTE
Presentacion IES LEVANTE
 
Découvrez Kryzalid !
Découvrez Kryzalid !Découvrez Kryzalid !
Découvrez Kryzalid !
 
pablo gudiño
pablo gudiñopablo gudiño
pablo gudiño
 
Enquête ETI (2012)
Enquête ETI (2012)Enquête ETI (2012)
Enquête ETI (2012)
 
Acuerdos 13 De Fabrero Seccion 22
Acuerdos 13 De Fabrero Seccion 22Acuerdos 13 De Fabrero Seccion 22
Acuerdos 13 De Fabrero Seccion 22
 
Especies Extintas Economia
Especies Extintas EconomiaEspecies Extintas Economia
Especies Extintas Economia
 
Proceso de Almacenamiento
Proceso de AlmacenamientoProceso de Almacenamiento
Proceso de Almacenamiento
 

Similar to Hack On Firefox OS - PSES

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
 
la boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsla boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsChristophe Villeneuve
 
Ubuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de Mozilla
Ubuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de MozillaUbuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de Mozilla
Ubuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de MozillaJérôme aka "Genma" Kun
 
Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.DocDoku
 
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
 
OS mobiles alternatifs
OS mobiles alternatifsOS mobiles alternatifs
OS mobiles alternatifsLionel Duboeuf
 
l'Industrialisation (avec PHP) @MMIConnect
l'Industrialisation (avec PHP) @MMIConnectl'Industrialisation (avec PHP) @MMIConnect
l'Industrialisation (avec PHP) @MMIConnectFlorent DENIS
 
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013Artusamak
 
Introduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxIntroduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxBruno Cornec
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?ekino
 
Firefox OS dans le web - Journée du libre 2015 Lille
Firefox OS dans le web - Journée du libre 2015  LilleFirefox OS dans le web - Journée du libre 2015  Lille
Firefox OS dans le web - Journée du libre 2015 LilleChristophe Villeneuve
 
Réalité virtuelle + Open source = &lt;3
Réalité virtuelle + Open source = &lt;3Réalité virtuelle + Open source = &lt;3
Réalité virtuelle + Open source = &lt;3Yannick Comte
 
Utiliser et ameliorer firefox avec les webextensions
Utiliser et ameliorer firefox avec les webextensionsUtiliser et ameliorer firefox avec les webextensions
Utiliser et ameliorer firefox avec les webextensionsChristophe Villeneuve
 
Cours PHP 1/4 - Pierre Rudloff
Cours PHP 1/4 - Pierre RudloffCours PHP 1/4 - Pierre Rudloff
Cours PHP 1/4 - Pierre RudloffStrasWeb
 

Similar to Hack On Firefox OS - PSES (20)

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
 
Le portage des WebExtensions
Le portage des WebExtensionsLe portage des WebExtensions
Le portage des WebExtensions
 
Firefox comme navigateur alternatif
Firefox comme navigateur alternatifFirefox comme navigateur alternatif
Firefox comme navigateur alternatif
 
Pas possible en drupal, c'est faux
Pas possible en drupal, c'est fauxPas possible en drupal, c'est faux
Pas possible en drupal, c'est faux
 
la boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsla boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtools
 
Ubuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de Mozilla
Ubuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de MozillaUbuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de Mozilla
Ubuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de Mozilla
 
Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.
 
Introduction webextensions
Introduction webextensionsIntroduction webextensions
Introduction webextensions
 
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
 
OS mobiles alternatifs
OS mobiles alternatifsOS mobiles alternatifs
OS mobiles alternatifs
 
l'Industrialisation (avec PHP) @MMIConnect
l'Industrialisation (avec PHP) @MMIConnectl'Industrialisation (avec PHP) @MMIConnect
l'Industrialisation (avec PHP) @MMIConnect
 
Controler vos donnees dans le web
Controler vos donnees dans le webControler vos donnees dans le web
Controler vos donnees dans le web
 
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
 
Introduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxIntroduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à Linux
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
 
Firefox OS dans le web - Journée du libre 2015 Lille
Firefox OS dans le web - Journée du libre 2015  LilleFirefox OS dans le web - Journée du libre 2015  Lille
Firefox OS dans le web - Journée du libre 2015 Lille
 
Drupal dans l'internet des objets
Drupal dans l'internet des objetsDrupal dans l'internet des objets
Drupal dans l'internet des objets
 
Réalité virtuelle + Open source = &lt;3
Réalité virtuelle + Open source = &lt;3Réalité virtuelle + Open source = &lt;3
Réalité virtuelle + Open source = &lt;3
 
Utiliser et ameliorer firefox avec les webextensions
Utiliser et ameliorer firefox avec les webextensionsUtiliser et ameliorer firefox avec les webextensions
Utiliser et ameliorer firefox avec les webextensions
 
Cours PHP 1/4 - Pierre Rudloff
Cours PHP 1/4 - Pierre RudloffCours PHP 1/4 - Pierre Rudloff
Cours PHP 1/4 - Pierre Rudloff
 

More from Christophe 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
 
La réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsLa réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsChristophe Villeneuve
 

More from 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
 
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
 
La réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsLa réalité mélangée dans vos applications
La réalité mélangée dans vos applications
 

Hack On Firefox OS - PSES