L'Open Web en tant que pierre angulaire du développement multi-objets
-
Upload
thomas-bassetto -
Category
Technology
-
view
1.220 -
download
0
description
Transcript of L'Open Web en tant que pierre angulaire du développement multi-objets
![Page 1: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/1.jpg)
L'Open Web en tant que pierre angulaire du
développement multi-objets@tbassetto
![Page 2: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/2.jpg)
Mon parcours
• Développeur Front-End chez
• Développeur JavaScript chez
• Paris Hackers, ParisJS, PhoneGap Paris
• Représentant français pour Mozilla WebFWD
![Page 3: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/3.jpg)
Joshfire
![Page 4: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/4.jpg)
Définitions
![Page 5: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/5.jpg)
L'Open Web en tant que pierre angulaire du
développement multi-objets
![Page 6: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/6.jpg)
L'Open Web en tant que pierre angulaire du
développement multi-objets
![Page 7: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/7.jpg)
Objets connectés ?
http://fuckyeahinternetfridge.tumblr.com
![Page 8: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/8.jpg)
Multi-objets connectés
On ne laisse personne derrière (ordinateurs de bureau, ordinateurs portables, téléphones,
tablettes,TVs, etc.)
![Page 9: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/9.jpg)
Multi-objets connectés
• Multi-touch
• GPS
• Accéléromètre
• Orientation
• Microphone
• Capture video & image
• Push
• Bluetooth / RFID
• Capteurs de proximité
• Capteurs de luminosité
• Gyroscope
![Page 10: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/10.jpg)
“Open Web”
• Nous réalisons peu de sites Web
• Principalement des applications ou objets basées sur HTML/CSS/JS (hybrides)
![Page 11: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/11.jpg)
Le choix de l’hybride
![Page 12: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/12.jpg)
Application hybride
© trigger.io
![Page 13: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/13.jpg)
Une fragmentation à plusieurs niveaux
famillemarqueperfsinput
language Java .NET Objective-C JS C++
...
![Page 14: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/14.jpg)
Pourquoi ce choix ?
• Mutualisation des compétences
• Mutualisation du code
• Royalty Free
• Expérience plus complète
• Utilisation des markets
• APIs disponibles
![Page 15: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/15.jpg)
Expérience “bizarre”
![Page 16: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/16.jpg)
Accès aux APIs
![Page 17: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/17.jpg)
Qualité
![Page 18: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/18.jpg)
Partage de code
![Page 19: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/19.jpg)
Hybrides célèbres
![Page 20: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/20.jpg)
Le natif ne fait pas tout
![Page 21: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/21.jpg)
Problématiques évitées
• SEO
• Nombre de requêtes HTTP
• Plus d’accès depuis un UA inconnu
![Page 22: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/22.jpg)
Nouvelles problématiques
• Validation pour entrer dans le market
• Gestion de la perte de connexion
• Resume/pause de l’application
• Mise à jour
![Page 23: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/23.jpg)
WRITE ONCE, RUN EVERYWHERE
![Page 24: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/24.jpg)
• Adapter le layout et le comportement
• Tout en partageant le même coeur applicatif, le même contenu
Objectif
![Page 25: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/25.jpg)
![Page 26: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/26.jpg)
![Page 27: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/27.jpg)
![Page 28: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/28.jpg)
![Page 29: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/29.jpg)
Responsive Web Design
Le postulat de départ : même code HTML, changement de layout via des media-queries
![Page 30: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/30.jpg)
Responsive Web Design@media screen and (max-width:999px){ #extras { clear: left; float: none; margin: 0 0 0 225px; width: 550px; }}
@media screen and (max-width:480px){ #nav { float: none; width: auto; }
#extras { float: none; width: auto; margin: 0; }
.feature-image { display: none; }}
![Page 31: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/31.jpg)
Feature detection
• Par exemple, pour navigateur “moderne” :
if('querySelector' in document && 'localStorage' in window && 'addEventListener' in window) { // victoire} else { // ... }
![Page 32: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/32.jpg)
Feature detection: Modernizr
if (Modernizr.localstorage) { // localstorage disponible} else { // on doit faire sans}
![Page 33: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/33.jpg)
Les limites
• Pas toujours suffisant
• Pas de dégradation possible, expérience complète
• Utilisation du RWD par type de familles
![Page 34: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/34.jpg)
Outils
• adapt.js
• respond.js
• formfactor.js
• device.js
![Page 35: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/35.jpg)
formfactor.js(function() { /* contents of tv.js */ formfactor.register({tv: [ "tv", function() { return navigator.indexOf("Samsung") > 0; }, (navigtor.indexOf("Samsung") > 0) ]})();var formfactor = formfactor.detect([ { formfactor : "tv", resources: ["/style/tv.css", "/style/fullscreen.less", "/script/ambientsounds.js", "/script/fx.coffee" ], callbacks: function() { alert("Look mum, I am on TV!"); } },},// default callback when nothing matches.{ "resources": ["/style/plain.css", "script/plain.js"], "callbacks": function() { alert("In plain mode.");}});
![Page 36: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/36.jpg)
device.js<link rel="alternate" href="http://foo.com" id="desktop" media="only screen and (touch-enabled: 0)">
<link rel="alternate" href="http://m.foo.com" id="phone" media="only screen and (max-device-width: 640px)">
<link rel="alternate" href="http://tablet.foo.com" id="tablet" media="only screen and (min-device-width: 641px)">
<script src="device.js"></script>
![Page 37: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/37.jpg)
Frameworks UI
• jQuery Mobile
• Sencha Touch 2
• Kendo UI Mobile
• Jo
![Page 38: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/38.jpg)
Frameworks
• Backbone.js
• Ember
• Ender
• Zepto
![Page 39: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/39.jpg)
Créer son framework
• “Joshfire Framework 2”
• Basé sur Backbone.js + Require.js
• Sur GitHub, dans une branche (pas master) mais sans documentation
![Page 40: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/40.jpg)
Quelques considérations sur les différentes familles
d’objets
![Page 41: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/41.jpg)
Téléphones & Tablettes
![Page 42: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/42.jpg)
PhoneGap/Cordova
![Page 43: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/43.jpg)
Principe
• Même APIs pour accéder aux capteurs quelque soit le matériel
• Système de plugin qui permet quand même d’appeler toutes les fonctions du SDK officiel
![Page 44: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/44.jpg)
API disponibles
• Calquées sur celle du W3C
• Risque d’évolution en fonction de B2G
![Page 45: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/45.jpg)
Exemple
navigator.camera.getPicture(onSuccess, onFail, { quality: 50 });
function onSuccess(imageData) { var image = document.getElementById('myImage'); image.src = "data:image/jpeg;base64," + imageData;}
function onFail(message) { alert('Failed because: ' + message);}
![Page 46: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/46.jpg)
Debug mobile
![Page 47: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/47.jpg)
Weinre
Mettre les lignes de commandes qui vont bien
![Page 48: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/48.jpg)
Weinre
• $ sudo npm -g install weinre
• Insérer <script src="http://a.b.c:8081/target/target-script-min.js"></script>
• http://debug.phonegap.com
![Page 49: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/49.jpg)
Simuler les événements touch
• Options des nouveaux Chrome Dev Tools
• Touch Bookmarklet: http://louisremi.github.com/touch-devtool/
![Page 50: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/50.jpg)
Un mot sur les touch events
• Version W3C basée sur l’implémentation d’Apple
• Bloquée par Apple
• Version Microsoft
![Page 51: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/51.jpg)
TVs
![Page 52: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/52.jpg)
En commun
• Un paradigme entièrement différent
• Contexte connu (contrairement aux téléphones)
• La télécommande s’utilise comme un clavier moins souvent comme une souris
• Domaine des jeux et des médias vidéos
![Page 53: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/53.jpg)
Problèmes<link rel="stylesheet" media="screen" href="..."><link rel="stylesheet" media="tv" href="...">
User Agent String d’une LG Smart TV 2012:
Mozilla/5.0 (DirectFB; Linux; ko-KR)AppleWebKit/534.26+ (KHTML, likeGecko) Version/5.0 Safari/534.26+
![Page 54: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/54.jpg)
Samsung
• SDK Windows
• Leader incontesté
• Basé sur un vieux Firefox (peut-être plus vrai en 2012)
![Page 55: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/55.jpg)
Philips
• Moteur web basé sur Opera
• Site Web plein écran
![Page 56: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/56.jpg)
LG
• SDK Windows
• Basé sur WebKit
• On peut soumettre une URL à leur store
![Page 57: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/57.jpg)
Google TV
• Comme un Chrome (sauf le paradigme différent)
• <meta name="gtv-autozoom" content="off" />
![Page 58: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/58.jpg)
“Desktop”
![Page 59: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/59.jpg)
Peu de solutions
• QtWebKit
• MacGap
• AIR
![Page 60: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/60.jpg)
Les objets ambiants
![Page 61: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/61.jpg)
Juste un jeu d’API
![Page 62: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/62.jpg)
Serveur d’API
![Page 63: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/63.jpg)
BeagleBoneL’embarqué cible le developpeur système / C
mais si on préinstalle node et cloud9 cela change la donne
![Page 64: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/64.jpg)
Raspberry PI
![Page 65: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/65.jpg)
Le Miroir
![Page 66: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/66.jpg)
Le Miroir
![Page 67: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/67.jpg)
Le Miroir
• Micro-ordinateur
• WebKit plein écran
• Une app hybride pour en lancer d’autres
![Page 68: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/68.jpg)
Canapé
![Page 69: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/69.jpg)
Canapé
• Arduino + RFID
• Serveur node.js qui pilote une Google TV
![Page 70: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/70.jpg)
La Borne
![Page 71: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/71.jpg)
La Borne
![Page 72: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/72.jpg)
La Borne
• iPad + app hybride
• Arduino + RFID pour passer le badge
![Page 73: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/73.jpg)
Conclusion
![Page 74: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/74.jpg)
Quelques souhaits
• Plus d’implications dans les devices APIs
• De meilleurs frameworks multi-objets
![Page 75: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/75.jpg)
Two more things
![Page 76: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/76.jpg)
Joshfire recrute !http://www.notaregularcompany.com
![Page 77: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/77.jpg)
dotJS.fr — 30 Nov
![Page 78: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/78.jpg)
+ grande conférence JavaScript en France
![Page 80: L'Open Web en tant que pierre angulaire du développement multi-objets](https://reader036.fdocuments.us/reader036/viewer/2022062405/5560b36ad8b42af43b8b47d9/html5/thumbnails/80.jpg)
QUESTIONS ?