HTML 5 stockage local
|
|
|
- Melinda Mathews
- 10 years ago
- Views:
Transcription
1 HTML 5 stockage local & synchronisation Raphaël
2 Une mutation est en cours Pages HTML Serveur Client JSON Single-Page Application
3 Form validation Drag n' Drop API Geolocation Web Notifications WebGL Video Canvas Audio File API Web Workers Web Sockets
4 Stockage local
5 1er bénéfice : le offline?
6 1er bénéfice : économiser le serveur! Source : HTML5 Web Sockets: A Quantum Leap in Scalability for the Web
7 4 étapes
8 Etape 1 Rendre les ressources disponibles hors connexion
9 Application Cache <html <html manifest"cache.manifest"> manifest"cache.manifest"> CACHE MANIFEST CACHE: index.html css/style.css img/logo.png js/main.js text/cache manifest
10 ! Avoir un manifeste change complètement les règles d'accès aux ressources
11 CACHE MANIFEST # v.1.2 build1234 CACHE: index.html css/style.css img/logo.png js/main.js
12 CACHE CACHE MANIFEST MANIFEST # v.1.2 build1234 CACHE: CACHE: index.html css/style.css img/logo.png js/main.js NETWORK NETWORK /sync /sync /api/* /api/*
13 CACHE CACHE MANIFEST MANIFEST # v.1.2 build1234 v.1.2 build1234 CACHE: CACHE: index.html index.html css/style.css css/style.css img/logo.png img/logo.png js/main.js js/main.js NETWORK NETWORK /sync /sync /api/* /api/* FALLBACK FALLBACK images/large/ images/large/ images/offline.jpg images/offline.jpg *.html *.html /offline.html /offline.html
14 window.applicationcache status UNCACHED IDLE CHECKING DOWNLOADING UPDATEREADY OBSOLETE
15 appcache appcache window.applicationcache; window.applicationcache; appcache.addeventlistener('updateready', appcache.addeventlistener('updateready', function(e) function(e) if if (appcache.status (appcache.status appcache.updateready) appcache.updateready) appcache.swapcache(); appcache.swapcache(); if if (confirm('une (confirm('une nouvelle nouvelle version version est est dispo')) dispo')) window.location.reload(); window.location.reload(); } } } } }, }, false); false);
16 > 10? > 3.5 > 4.0 > 4.0 > 10.6 > 3.2 > 2.1 > 11.0
17 Etape 2 Découpler l'application du réseau
18 Todo Backbone.Model.extend( Todo Backbone.Model.extend( toggle: function() toggle: function() this.save(done:!this.get("done")}); this.save(done:!this.get("done")}); }, }, clear: function() clear: function() this.destroy(); this.destroy(); } } }); }); TodoList Backbone.Collection.extend( TodoList Backbone.Collection.extend( model: Todo, model: Todo, done: function() done: function() return this.filter(function(todo) return todo.get('done'); }); return this.filter(function(todo) return todo.get('done'); }); }, }, remaining: function() remaining: function() return this.without.apply(this, this.done()); return this.without.apply(this, this.done()); } } }); });
19 Backbone.Sync create() read() update() POST GET PUT /collection /collection[/id] /collection/id delete() DELETE /collection/id
20 Etape 3 Stocker localement les données
21 3 options
22 FileSystem API! seulement
23 window.requestfilesystem window.requestfilesystem window.requestfilesystem window.requestfilesystem window.webkitrequestfilesystem; window.webkitrequestfilesystem; window.requestfilesystem(window.temporary, window.requestfilesystem(window.temporary, 5*1024*1024, 5*1024*1024, oninitfs, oninitfs, errorhandler); errorhandler); window.webkitstorageinfo.requestquota(window.persistent, window.webkitstorageinfo.requestquota(window.persistent, 5*1024*1024, 5*1024*1024, initfs, initfs, errorhandler); errorhandler); function function initfs(grantedbytes) initfs(grantedbytes) window.requestfilesystem(persistent, window.requestfilesystem(persistent, grantedbytes, grantedbytes, oninitfs, oninitfs, errorhandler); errorhandler); } }
24 FileError code QUOTA_EXCEEDED_ERR NOT_FOUND_ERR SECURITY_ERR INVALID_MODIFICATION_ERR INVALID_STATE_ERR
25 function function oninitfs(fs) oninitfs(fs) fs.root.getfile('data.txt', fs.root.getfile('data.txt', create: create: true}, true}, function(entry) function(entry) entry.file(function(file) entry.file(function(file) reader reader new new FileReader(); FileReader(); reader.onloadend reader.onloadend function(e) function(e) repository.init(json.parse(e.target.result)); repository.init(json.parse(e.target.result)); }; }; reader.readastext(file); reader.readastext(file); }, }, errorhandler); errorhandler); }, }, errorhandler); errorhandler); } }
26 FileEntry name fullpath isfile isdirectory file() createwriter() moveto() copyto() remove()...
27 function function persistdata(fs, persistdata(fs, data) data) fs.root.getfile('log.txt', fs.root.getfile('log.txt', create: create: true}, true}, function(entry) function(entry) entry.createwriter(function(writer) entry.createwriter(function(writer) writer.onwriteend writer.onwriteend function(e) function(e) console.log('write console.log('write completed.'); completed.'); }; }; writer.onerror writer.onerror function(e) function(e) console.log('write console.log('write failed: failed: ' ' + + e.tostring()); e.tostring()); }; }; bb bb new new BlobBuilder(); BlobBuilder(); bb.append(json.stringify(data)); bb.append(json.stringify(data)); writer.write(bb.getblob('text/plain')); writer.write(bb.getblob('text/plain')); }, }, errorhandler); errorhandler); }, }, errorhandler); errorhandler); } }
28 Web Storage localstorage et sessionstorage
29 Un simple dépôt clé-valeur localstorage.setitem("foo", localstorage.setitem("foo", "bar"); "bar"); localstorage.setitem("tweets", localstorage.setitem("tweets", JSON.stringify(tweets); JSON.stringify(tweets); tweets tweets JSON.parse(localStorage.getItem("tweets")); JSON.parse(localStorage.getItem("tweets"));
30 ! Quota de 5 Mo Pas de transactions Pas d'indexation
31 localstorage["tweets:1234"] localstorage["tweets:1234"] "Lorem "Lorem ipsum..."; ipsum..."; localstorage["tweets:1235"] localstorage["tweets:1235"] "Nam "Nam mauris mauris lorem..."; lorem..."; localstorage["tags"] localstorage["tags"] JSON.stringify(["Java", JSON.stringify(["Java", "Python", "Python", "Ruby", "Ruby", "PHP"]); "PHP"]); localstorage["tags:java"] localstorage["tags:java"] JSON.stringify([1234, JSON.stringify([1234, 1235]); 1235]);
32 Très bien supporté API simple Mis en avant par de nb compagnies/projets Performances API synchrone Sérialisation Requêtes Complexité "indexation" manuelle Maintien intégrité
33 > 8 > 3.5 > 4.0 > 4.0 > 10.5 > 3.2 > 2.1 > 11.0
34 localstorage adapter Backbone.sync function(method, model, options) Backbone.sync function(method, model, options) resp; resp; store model.localstorage model.collection.localstorage; store model.localstorage model.collection.localstorage; switch (method) switch (method) case "read": resp model.id? store.find(model) : case "read": resp model.id? store.find(model) : store.findall(); store.findall(); break; break; case "create": resp store.create(model); case "create": resp store.create(model); break; break; case "update": resp store.update(model); case "update": resp store.update(model); break; break; case "delete": resp store.destroy(model); case "delete": resp store.destroy(model); break; break; } } if (resp) if (resp) options.success(resp); options.success(resp); } else } else options.error("record not found"); options.error("record not found"); } } }; };
35 Petit intermède Vous connaissez Redis? BankersBox bb new BankersBox(1); bb new BankersBox(1); bb.set("foo", "bar"); bb.set("foo", "bar"); bb.get("foo"); // returns "bar" bb.get("foo"); // returns "bar" bb.set("count", 10); bb.set("count", 10); bb.incr("count"); // sets "count" to 11, returns 11 bb.incr("count"); // sets "count" to 11, returns 11 bb.incr("newcount"); // sets "newcount" to 1, returns 1 bb.incr("newcount"); // sets "newcount" to 1, returns 1 bb.lpush("mylist", "hello"); bb.lpush("mylist", "hello"); bb.lrange("mylist", 0, 1); // returns ["hello"] bb.lrange("mylist", 0, 1); // returns ["hello"] bb.rpush("mylist", "world"); bb.rpush("mylist", "world"); bb.lrange("mylist", 0, 1); // returns ["hello", "world"] bb.lrange("mylist", 0, 1); // returns ["hello", "world"] bb.sadd("myset", "apple"); bb.sadd("myset", "apple"); bb.sadd("myset", "oragne"); bb.sadd("myset", "oragne");
36 IndexedDB
37 Préfixes, préfixes... window.indexeddb window.indexeddb window.indexeddb window.indexeddb window.mozindexeddb window.mozindexeddb window.webkitindexeddb; window.webkitindexeddb; window.idbkeyrange window.idbkeyrange window.idbkeyrange window.idbkeyrange window.webkitidbkeyrange; window.webkitidbkeyrange; window.idbtransaction window.idbtransaction window.idbtransaction window.idbtransaction window.webkitidbtransaction; window.webkitidbtransaction;
38 API asynchrone function function IndexedDBAdapter() IndexedDBAdapter() this.db this.db null; null; request request indexeddb.open("contactapp"); indexeddb.open("contactapp"); request.onsuccess request.onsuccess function(e) function(e) this.db this.db e.target.result; e.target.result; }.bind(this); }.bind(this); request.onfailure request.onfailure function(e) function(e) console.log("could console.log("could not not connect connect to to the the database"); database"); } } }; };
39 Création d'un dépôt IndexedDBAdapter.prototype.create IndexedDBAdapter.prototype.create function(storename) function(storename) v v "1.0"; "1.0"; request request this.db.setversion(v); this.db.setversion(v); request.onsuccess request.onsuccess function(e) function(e) store store this.db.createobjectstore(storename, this.db.createobjectstore(storename, "keypath": "keypath": "id", "id", "autoincrement": "autoincrement": true true }); }); }; }; request.onblocked request.onblocked function(e) function(e) console.log("the console.log("the database database is is open open in in another another tab."); tab."); }; }; }; };
40 Persistence d'un objet IndexedDBAdapter.prototype.save(storeName, IndexedDBAdapter.prototype.save(storeName, object, object, callback) callback) trans trans db.transaction([storename], db.transaction([storename], IDBTransaction.READ_WRITE, IDBTransaction.READ_WRITE, 0); 0); store store trans.objectstore(storename); trans.objectstore(storename); request request store.put(object); store.put(object); request.onsuccess request.onsuccess function(e) function(e) callback(object); callback(object); }; }; }; };
41 Requête simple IndexedDBAdapter.prototype.all(storeName, IndexedDBAdapter.prototype.all(storeName, callback) callback) trans trans db.transaction([storename], db.transaction([storename], IDBTransaction.READ_WRITE, IDBTransaction.READ_WRITE, 0); 0); store store trans.objectstore(storename); trans.objectstore(storename); keyrange keyrange IDBKeyRange.lowerBound(0); IDBKeyRange.lowerBound(0); request request store.opencursor(keyrange); store.opencursor(keyrange); request.onsuccess request.onsuccess function(e) function(e) cursor cursor e.target.result; e.target.result; if if (cursor) (cursor) callback(cursor.value); callback(cursor.value); cursor.continue(); cursor.continue(); } } }; }; }; };
42 Key Ranges IDBKeyRange.upperBound(x); IDBKeyRange.upperBound(x); // // < < x x IDBKeyRange.upperBound(x, IDBKeyRange.upperBound(x, true); true); // // < < x x IDBKeyRange.lowerBound(y); IDBKeyRange.lowerBound(y); // // > > y y IDBKeyRange.lowerBound(y, IDBKeyRange.lowerBound(y, true); true); // // > > y y IDBKeyRange.bound(x, IDBKeyRange.bound(x, y); y); // // > > x x && && < < y y IDBKeyRange.bound(x, IDBKeyRange.bound(x, y, y, true, true, false); false); // // > > x x && && < < y y
43 Index contacts contacts [ [ firstname: firstname: "John", "John", lastname: lastname: "Doe", "Doe", "[email protected]" "[email protected]" }, }, firstname: firstname: "Jane", "Jane", lastname: lastname: "Doe", "Doe", "[email protected]" "[email protected]" }, }, firstname: firstname: "Johnny", "Johnny", lastname: lastname: "Carson", "Carson", "[email protected]" "[email protected]" } } ]; ]; objectstore.createindex("firstname", objectstore.createindex("firstname", "firstname", "firstname", unique: unique: false false }); }); objectstore.createindex("lastname", objectstore.createindex("lastname", "lastname", "lastname", unique: unique: false false }); }); objectstore.createindex(" ", objectstore.createindex(" ", " ", " ", unique: unique: true true }); });
44 Index contacts contacts [ [ firstname: firstname: "John", "John", lastname: lastname: "Doe", "Doe", "[email protected]" "[email protected]" }, }, firstname: firstname: "Jane", "Jane", lastname: lastname: "Doe", "Doe", "[email protected]" "[email protected]" }, }, firstname: firstname: "Johnny", "Johnny", lastname: lastname: "Carson", "Carson", "[email protected]" "[email protected]" } } ]; ]; index index objectstore.index("lastname"); objectstore.index("lastname"); index.opencursor(idbkeyrange.only("doe")).onsuccess index.opencursor(idbkeyrange.only("doe")).onsuccess function(e) function(e) cursor cursor e.target.result; e.target.result; if if (cursor) (cursor) callback(cursor.value); callback(cursor.value); cursor.continue(); cursor.continue(); } } }; }; index index objectstore.index("firstname"); objectstore.index("firstname"); index.opencursor(idbkeyrange.lowerbound("john")).onsuccess index.opencursor(idbkeyrange.lowerbound("john")).onsuccess function(e) function(e) }; };
45 > 10? > 8.0 > 16.0?????
46 Et pourquoi pas Web SQL Database?
47 X X > 4.0 > 3.1 > 10.5 > 3.2 > 2.1 > 11.0
48 Le polyfill ultime? Lawnchair localstorage indexeddb webkit sqlite gears sqlite ie userdata backberry persistent store window name
49 Etape 4 Développer une stratégie de synchronisation
50 L'exemple d'activesync
51 POST /Microsoft Server &Cmd<Commande> CmdFolderSync&SyncKey } folders: [ contacts: id: 1234, created: 0, 0, updated: 2, 2, deleted: 1 }, }, todos: id: 5678, created: 5, 5, updated: 0, 0, deleted: 2 } ]
52 CmdSync&SyncKey &FolderId5678 } synckey: , created: [ id: 4321, label: "Acheter le le pain" }, },... ], ], updated: [... ], ], deleted: [ 5678, 7890 ]
53
54 Autres pistes Mozilla Services SyncML Operational Transformation ShareJS
55 Etape subsidiaire Le "push"
56 Polling Client Serveur n secondes n secondes
57 Long polling (COMET) Client Serveur Événement côté serveur Événement côté serveur
58 WebSockets
59 Handshake GET /resource name/ HTTP/1.1 Upgrade: WebSocket Connection: Upgrade Host: /server/ Origin: /origin/ WebSocket Protocol: /protocol/ HTTP/ Web Socket Protocol Handshake Upgrade: WebSocket Connection: Upgrade WebSocket Origin: /origin/ WebSocket Location: /url/ WebSocket Protocol: /subprotocol/
60 Serveur (avec node.js) io io require('socket.io').listen(80); io.sockets.on('connection', function (socket) socket.emit('news', hello: 'world' }); socket.on('my other event', function (data) console.log(data); }); }); Client socket io.connect(' socket.on('news', function (data) console.log(data); socket.emit('my other event', my: 'data' }); });
61 > 10? > 6.0 > 14.0 > 5.0 > 11.0 > 4.2? > 11.0
62 Avec Socket.IO > 5.5 > 3.0 > 4.0 > 3.0 > > 3.2 > 2.1 > 11.0
63 Server-Sent Events
64 HTTP traditionnel GET /myappstream Content Type: text/event stream
65 if if (window.eventsource) source new EventSource('myAppStream'); } else // // fallback to to something... } source.addeventlistener('message', function(e) console.log(e.data); }, }, false); source.addeventlistener('open', function(e) }, }, false); source.addeventlistener('error', function(e) if if (e.readystate EventSource.CLOSED) } }, }, false);
66 Format des messages data: Hello world\n\n Multi-ligne data: Hello\n data: world\n\n JSON data: \n data: "msg": "Hello world",\n data: "id": 12345\n data: }\n\n
67 Format des messages Utilisation des IDs id: 12345\n data: "user": "goldo", "msg": "Hello!"}\n\n Utilisation des events data: "msg": "Hello!"}\n\n event: login\n data: "user": "goldo"}\n\n event: update\n data: "user": "goldo", "status": "away"}\n\n
68 Avantages Reconnexion automatique Ids Events
69 Questions / réponses
HTML5 Offline Data. INF5750/9750 - Lecture 6 (Part II)
HTML5 Offline Data INF5750/9750 - Lecture 6 (Part II) What is offline? The Web and Online are considered to be synonymous, then what is HTML offline? HTML content distributed over CDs/DVDs, always offline
Introduction Les failles les plus courantes Les injections SQL. Failles Web. Maxime Arthaud. net7. Jeudi 03 avril 2014.
Maxime Arthaud net7 Jeudi 03 avril 2014 Syllabus Introduction Exemple de Requête Transmission de données 1 Introduction Exemple de Requête Transmission de données 2 3 Exemple de Requête Transmission de
Web Browser. Fetches/displays documents from web servers. Mosaic 1993
HTML5 and CSS3 Web Browser Fetches/displays documents from web servers Mosaic 1993 Firefox,IE,Chrome,Safari,Opera,Lynx,Mosaic,Konqueror There are standards, but wide variation in features Desktop Browser
Développement Web 2. Node.js Installation de modules
Développement Web 2 Bertrand Estellon Aix-Marseille Université April 1, 2014 Nodejs Nodejs Introduction Introduction Nodejs est une plateforme : permettant d écrire des applications; basée sur le langage
Modern Web Development From Angle Brackets to Web Sockets
Modern Web Development From Angle Brackets to Web Sockets Pete Snyder Outline (or, what am i going to be going on about ) 1.What is the Web? 2.Why the web matters 3.What s unique about
Mobile Web Applications using HTML5. L. Cotfas 14 Dec. 2011
Mobile Web Applications using HTML5 L. Cotfas 14 Dec. 2011 Reasons for mobile web development Many different platforms: Android, IPhone, Symbian, Windows Phone/ Mobile, MeeGo (only a few of them) Reasons
Internet Explorer 10 Internet Explorer 11. Internet Explorer 10
2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 Internet Explorer 8 Internet Explorer 9 Internet Explorer 10 Internet Explorer 11 Internet Explorer 10 Internet Explorer 11 Internet Explorer
Thursday, February 7, 2013. DOM via PHP
DOM via PHP Plan PHP DOM PHP : Hypertext Preprocessor Langage de script pour création de pages Web dynamiques Un ficher PHP est un ficher HTML avec du code PHP
Safari Client-Side Storage and Offline Applications Programming Guide
Safari Client-Side Storage and Offline Applications Programming Guide Contents Introduction 5 At a Glance 6 Use the Offline Application Cache to Make Your Website Usable Offline 6 Lighten Your Cookie Load
Sync your schedule and work orders with SME & Microsoft Outlook
Sync your schedule and work orders with SME & Microsoft Outlook High 5 Software is proud to announce a new addition to the SME product family to keep your sales staff and technicians in synch with SME
JavaScript Programming
JavaScript Programming Pushing the Limits ADVANCED APPLICATION DEVELOPMENT WITH JAVASCRIPT & HTML5 Jon Raasch WILEY Contents About the Author vi Dedication vii About the Contributor ix Acknowledgments
Group Projects M1 - Cubbyhole
SUPINFO Academic Dept. Project presentation Group Projects Version 1.0 Last update: 20/11/2013 Use: Students Author: Samuel CUELLA Conditions d utilisations : SUPINFO International University vous permet
Client-Side Storage in Web Applications
Client-Side Storage in Web Applications Markku Laine Department of Media Technology, Aalto University P.O. Box 15500, FI-00076 Aalto, Finland [email protected] Abstract In recent years, a number of
Web Tracking for You. Gregory Fleischer
Web Tracking for You Gregory Fleischer 1 INTRODUCTION 2 Me Gregory Fleischer Senior Security Consultant at FishNet Security 3 Disclaimer Why do you hate? 4 Reasons For Tracking TradiFonal reasons for tracking
Learning HTML5 Game Programming
Learning HTML5 Game Programming A Hands-on Guide to Building Online Games Using Canvas, SVG, and WebGL James L. Williams AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York
Brazil + JDBC Juin 2001, [email protected] http://jfod.cnam.fr/tp_cdi/douin/
Brazil + JDBC Juin 2001, [email protected] http://jfod.cnam.fr/tp_cdi/douin/ version du 26 Mai 2003 : JDBC-SQL et Brazil pré-requis : lecture de Tutorial JDBC de Sun Bibliographie Brazil [Bra00]www.sun.com/research/brazil
Introduction to Tizen SDK 2.0.0 Alpha. Taiho Choi Samsung Electronics
Introduction to Tizen SDK 2.0.0 Alpha Taiho Choi Samsung Electronics Contents Web technologies of Tizen Components of SDK 2.0.0 Alpha Hello world! Debugging apps Summary 1 Web technologies on Tizen Web
Guide 3 - SkyDrive Pro
Guide 3 - SkyDrive Pro 1. SkyDrive Pro on the web 2. SkyDrive Pro on your PC 3. SkyDrive Pro on your ipad Microsoft Office 365 is the new messaging and storage solution for the City of Edinburgh educational
The Need For Speed. leads to PostgreSQL. Dimitri Fontaine [email protected]. 28 Mars 2013
The Need For Speed leads to PostgreSQL Dimitri Fontaine [email protected] 28 Mars 2013 Dimitri Fontaine [email protected] The Need For Speed 28 Mars 2013 1 / 23 Dimitri Fontaine 2ndQuadrant France
Setting up a monitoring and remote control tool
Setting up a monitoring and remote control tool Oral examination for internship - Second year of Master in Computer Sciences Kevin TAOCHY Department of Mathematics and Computer Sciences University of Reunion
HTML5 and Device APIs for Automotive: Is it time to power Infotainment and Car Portal Applications with Web Technologies?
HTML5 and Device APIs for Automotive: Is it time to power Infotainment and Car Portal Applications with Web Technologies? Diana Cheng - [email protected] Introduction A key advantage of HTML5 and
Intro to Web Development
Intro to Web Development For this assignment you will be using the KompoZer program because it free to use, and we wanted to keep the costs of this course down. You may be familiar with other webpage editing
Créez les interfaces du futur avec les APIs d aujourd hui. Thursday, October 18, 12
Créez les interfaces du futur avec les APIs d aujourd hui Je suis web opener chez Deux interfaces futuristes utilisant des APIs web + web sockets + device orientation = + du WebGL!! server.js α, β, ɣ α,
Grapevine Mail User Guide
Grapevine Mail User Guide Table of Contents Accessing Grapevine Mail...2 How to access the Mail portal... 2 How to login... 2 Grapevine Mail user guide... 5 Copying your contacts to the new Grapevine Mail
WEB DEVELOPMENT COURSE (PHP/ MYSQL)
WEB DEVELOPMENT COURSE (PHP/ MYSQL) COURSE COVERS: HTML 5 CSS 3 JAVASCRIPT JQUERY BOOTSTRAP 3 PHP 5.5 MYSQL SYLLABUS HTML5 Introduction to HTML Introduction to Internet HTML Basics HTML Elements HTML Attributes
Step into the Future: HTML5 and its Impact on SSL VPNs
Step into the Future: HTML5 and its Impact on SSL VPNs Aidan Gogarty HOB, Inc. Session ID: SPO - 302 Session Classification: General Interest What this is all about. All about HTML5 3 useful components
Programming in HTML5 with JavaScript and CSS3
Course 20480B: Programming in HTML5 with JavaScript and CSS3 Course Details Course Outline Module 1: Overview of HTML and CSS This module provides an overview of HTML and CSS, and describes how to use
HTML5 the new. standard for Interactive Web
WHITE PAPER HTML the new standard for Interactive Web by Gokul Seenivasan, Aspire Systems HTML is everywhere these days. Whether desktop or mobile, windows or Mac, or just about any other modern form factor
Durée 4 jours. Pré-requis
F5 - BIG-IP Application Security Manager V11.0 Présentation du cours Ce cours traite des attaques applicatives orientées Web et de la façon d utiliser Application Security Manager (ASM) pour s en protéger.
Firefox for Android. Reviewer s Guide. Contact us: [email protected]
Reviewer s Guide Contact us: [email protected] Table of Contents About Mozilla Firefox 1 Move at the Speed of the Web 2 Get Started 3 Mobile Browsing Upgrade 4 Get Up and Go 6 Customize On the Go 7 Privacy
WebLogic & Coherence. Best backend for Mobile Apps. July 2014 INSERT PRESENTER TITLE AND DATE
WebLogic & Coherence Best backend for Mobile Apps July 2014 INSERT PRESENTER TITLE AND DATE Copyright 2014 Oracle and/or its affiliates. All rights reserved. Oracle Confidential Internal/Restricted/Highly
Tizen Web Runtime Update. Ming Jin Samsung Electronics
Tizen Web Runtime Update Ming Jin Samsung Electronics Table of Contents Quick Overview of This Talk Background, Major Updates, Upcoming Features What Have Been Updated Installation/Update Flow, WebKit2,
Website Report: http://www.servicesaprixfixes.com/ To-Do Tasks: 22 SEO SCORE: 73 / 100. Add the exact keywords to this URL.
Page 1 of 8 Website Report: http://www.servicesaprixfixes.com/ Keyword: Marketplace, B2B, services aux entreprises, small business Date: Decemr 12, 2014 SEO SCORE: 73 / 100 To-Do Tasks: 22 Add the exact
Research of Web Real-Time Communication Based on Web Socket
Int. J. Communications, Network and System Sciences, 2012, 5, 797-801 http://dx.doi.org/10.4236/ijcns.2012.512083 Published Online December 2012 (http://www.scirp.org/journal/ijcns) Research of Web Real-Time
Stockage distribué sous Linux
Félix Simon Ludovic Gauthier IUT Nancy-Charlemagne - LP ASRALL Mars 2009 1 / 18 Introduction Répartition sur plusieurs machines Accessibilité depuis plusieurs clients Vu comme un seul et énorme espace
Smartphone Enterprise Application Integration
WHITE PAPER MARCH 2011 Smartphone Enterprise Application Integration Rhomobile - Mobilize Your Enterprise Overview For more information on optimal smartphone development please see the Rhomobile White
Vincent Rullier Technology specialist Microsoft Suisse Romande
Vincent Rullier Technology specialist Microsoft Suisse Romande Pourquoi virtualiser Différents types de virtualisation Présentation Applications Postes de travail Serveurs Bénéfices Conclusion Q&A Technology
Administrer les solutions Citrix XenApp et XenDesktop 7.6 CXD-203
Administrer les solutions Citrix XenApp XenDesktop 7.6 CXD-203 MIEL Centre Agréé : N 11 91 03 54 591 Pour contacter le service formation : 01 60 19 16 27 Pour consulter le planning des formations : www.miel.fr/formation
Tool & Asset Manager 2.0. User's guide 2015
Tool & Asset Manager 2.0 User's guide 2015 Table of contents Getting Started...4 Installation...5 "Standalone" Edition...6 "Network" Edition...7 Modify the language...8 Barcode scanning...9 Barcode label
You can choose to install the plugin through Magento Connect or by directly using the archive files.
Magento plugin 1.5.7 installation 1. Plugin installation You can choose to install the plugin through Magento Connect or by directly using the archive files. 1.1 Installation with Magento Connect 1.1.1
Solaris 10 Documentation README
Solaris 10 Documentation README Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 817 0550 10 January 2005 Copyright 2005 Sun Microsystems, Inc. 4150 Network Circle, Santa
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";! SET time_zone = "+00:00";!
-- phpmyadmin SQL Dump -- version 4.1.3 -- http://www.phpmyadmin.net -- -- Client : localhost -- Généré le : Lun 19 Mai 2014 à 15:06 -- Version du serveur : 5.6.15 -- Version de PHP : 5.4.24 SET SQL_MODE
Audit de sécurité avec Backtrack 5
Audit de sécurité avec Backtrack 5 DUMITRESCU Andrei EL RAOUSTI Habib Université de Versailles Saint-Quentin-En-Yvelines 24-05-2012 UVSQ - Audit de sécurité avec Backtrack 5 DUMITRESCU Andrei EL RAOUSTI
BGP dans le ToR. FRnOG 23. Antoine Sibout Datacenter Architect Juniper Networks
BGP dans le ToR FRnOG 23 Antoine Sibout Datacenter Architect Juniper Networks Datacenter traditionnel Underlay & Vlans Routing & Filtering between VLANs L3 L3 Routing & Filtering between VLANs FW LB L2/L3
Adding Outlook to a Blackberry, Downloading, Installing and Configuring Blackberry Desktop Manager
Adding Outlook to a Blackberry, Downloading, Installing and Configuring Blackberry Desktop Manager The following instructions work for the District provided Blackberrys from Sprint, but I think it should
About the To-Do Bar in Outlook 2007
Exchange Outlook 007 How To s / Tasks (Advanced ) of 8 Tasks in the Microsoft Office system are similar to a to-do list. Tasks make it easy to use Microsoft Office Outlook 007 to organize your time and
Les Support Packs IA94 et IA9H
Guide MQ du 13 Novembre 2007 Journée «Support Packs» Les Support Packs IA94 et IA9H Edouard Orcel [email protected] IBM France Plan Présentation XMS Serveurs compatibles : MQ, WMB, WAS, WPS ou WESB
GET /FB/index.html HTTP/1.1 Host: lmi32.cnam.fr
GET /FB/index.html HTTP/1.1 Host: lmi32.cnam.fr HTTP/1.1 200 OK Date: Thu, 20 Oct 2005 14:42:54 GMT Server: Apache/2.0.50 (Linux/SUSE) Last-Modified: Thu, 20 Oct 2005 14:41:56 GMT ETag: "2d7b4-14b-8efd9500"
Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean
Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean Course Description Getting Started with Android Programming is designed to give students a strong foundation to develop apps
HTML5 Websockets with ruby and rails. Saurabh Bhatia, CEO, Safew Labs
HTML5 Websockets with ruby and rails Saurabh Bhatia, CEO, Safew Labs Meet the humble "Websocket" 1. What is it? WebSocket is a technology providing for bi-directional, full-duplex communications channels,
Introduction au BIM. ESEB 38170 Seyssinet-Pariset Economie de la construction email : [email protected]
Quel est l objectif? 1 La France n est pas le seul pays impliqué 2 Une démarche obligatoire 3 Une organisation plus efficace 4 Le contexte 5 Risque d erreur INTERVENANTS : - Architecte - Économiste - Contrôleur
Neoteris IVE Integration Guide
Neoteris IVE Integration Guide NESD-00090-00 CAY051402 The Secure Email Client upgrade option enables Neoteris IVE users to use standardsbased email clients to access corporate email from remote locations.
The Risks of Client-Side Data Storage From cookie to database
The Risks of Client-Side Data Storage From cookie to database GOVCERT.NL Symposium - 15 November 2010 Agenda Client-Side Data Storage (CSDS): What it is Why it s used How it s implemented Demo SecurSearch
Admin Guide Product version: 4.3.5 Product date: November, 2011. Technical Administration Guide. General
Corporate Directory View2C Admin Guide Product version: 4.3.5 Product date: November, 2011 Technical Administration Guide General This document highlights Corporate Directory software features and how
Configuring your email client to connect to your Exchange mailbox
Configuring your email client to connect to your Exchange mailbox Contents Use Outlook Web Access (OWA) to access your Exchange mailbox... 2 Use Outlook 2003 to connect to your Exchange mailbox... 3 Add
Upgrade to Microsoft Web Applications
Upgrade to Microsoft Web Applications Description Customers demand beautiful, elegant apps that are alive with activity. Demonstrate your expertise at designing and developing the fast and fluid Store
Tizen Web Runtime. Device API
Tizen Web Runtime. Device API 1 Что нового в html5 Элементы разметки: article, nav, header, footer... Поддержка API 2D drawing video, audio Offline web Drag and Drop File API Геолокация Базы данных (key-value)
Web Interface using HTML5 for Interaction between Mobile Device & Cloud- Services
Web Interface using HTML5 for Interaction between Mobile Device & Cloud- Services Nimit S Modi,Proff.Yask Patel Computer Department,PIET, Baroda. IT Department,PIET,Baroda Abstract Mobile cloud computing
Modern Web Application Framework Python, SQL Alchemy, Jinja2 & Flask
Modern Web Application Framework Python, SQL Alchemy, Jinja2 & Flask Devert Alexandre December 29, 2012 Slide 1/62 Table of Contents 1 Model-View-Controller 2 Flask 3 First steps 4 Routing 5 Templates
Locked Web Browser. User s Manual
Locked Web Browser User s Manual Locked Web Browser USER'S MANUAL DATALOGIC S.p.A. Via Candini 2 40012 - Lippo di Calderara di Reno Bologna - Italy Locked Web Browser Ed.: 04/2005 ALL RIGHTS RESERVED
Annexe - OAuth 2.0. 1 Introduction. Xavier de Rochefort [email protected] - labri.fr/~xderoche 15 mai 2014
1 Introduction Annexe - OAuth 2.0. Xavier de Rochefort [email protected] - labri.fr/~xderoche 15 mai 2014 Alternativement à Flickr, notre serveur pourrait proposer aux utilisateurs l utilisation de leur
Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin
Development Techniques for Native/Hybrid Tizen Apps Presented by Kirill Kruchinkin Agenda Introduction and Definitions Practices Case Studies 2 Introduction & Definitions 2 App Types Browser Apps Installable
Feature Integration Across Microsoft Office Server Products SharePoint Server, Exchange Server, Lync Server, and Office Web Apps
Feature Integration Across Microsoft Office Products SharePoint,,, and Office Web Apps Illustrations for cross-server features This multi-tab Visio file (or multi-page PDF file) includes descriptions and
Real Time Data in Web Applications
Martin Schreiber push push push Agenda 1. Real Time Data and HTTP? HTTP AJAX WebSockets 2. Getting Started with ASP.NET SignalR 2.x RPC Connection Transport Behavior Server JavaScript Client.NET Client
Neoteris IVE Integration Guide
Neoteris IVE Integration Guide Published Date July 2015 The Secure Email Client upgrade option enables Neoteris IVE users to use standards based email clients to access corporate email from remote locations.
Seagate NAS OS 4 Reviewers Guide: NAS / NAS Pro / Business Storage Rackmounts
Seagate NAS OS 4 Reviewers Guide: NAS / NAS Pro / Business Storage Rackmounts Seagate NAS OS 4 Reviewers Guide 2 Purpose of this guide Experience the most common use cases for the product, learn about
Brainshark/Salesforce.com Integration Installation Procedures
Page1 Brainshark/Salesforce.com Integration Installation Procedures The Brainshark/Salesforce integration allows Salesforce users to send emails containing links to Brainshark presentations from a contact
INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3
INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3 Often the most compelling way to introduce yourself to a software product is to try deliver value as soon as possible. Simego DS3 is designed to get you
WebSocket Server. To understand the Wakanda Server side WebSocket support, it is important to identify the different parts and how they interact:
WebSocket Server Wakanda Server provides a WebSocket Server API, allowing you to handle client WebSocket connections on the server. WebSockets enable Web applications (clients) to use the WebSocket protocol
Wildix WebRTC Kite & MCU Videoconference. Quick Start Guide
Wildix WebRTC Kite & MCU Videoconference Quick Start Guide Version 20.04.2015 Wildix Kite is a professional solution based on WebRTC technology for real-time communication with the customer through the
How To Write A Web Server In Javascript
LIBERATED: A fully in-browser client and server web application debug and test environment Derrell Lipman University of Massachusetts Lowell Overview of the Client/Server Environment Server Machine Client
Initial Setup of Microsoft Outlook with Google Apps Sync for Windows 7. Initial Setup of Microsoft Outlook with Google Apps Sync for Windows 7
Microsoft Outlook with Initial Setup of Concept This document describes the procedures for setting up the Microsoft Outlook email client to download messages from Google Mail using Internet Message Access
Document OwnCloud Collaboration Server (DOCS) User Manual. How to Access Document Storage
Document OwnCloud Collaboration Server (DOCS) User Manual How to Access Document Storage You can connect to your Document OwnCloud Collaboration Server (DOCS) using any web browser. Server can be accessed
ISL Online Integration Manual
Contents 2 Table of Contents Foreword Part I Overview Part II 0 3 4... 1 Dow nload and prepare 4... 2 Enable the ex ternal ID column on ISL Conference Prox y 4... 3 Deploy w eb content 5... 4 Add items
ios SDK possibilities & limitations
ios SDK possibilities & limitations Licensing Licensing Registered as an Apple Developer (free) Access to XCode3 and ios SDK ios, Mac and Safari Dev Center Resources No possibility of distribution of developed
Memo bconsole. Memo bconsole
Memo bconsole Page 1 / 24 Version du 10 Avril 2015 Page 2 / 24 Version du 10 Avril 2015 Sommaire 1 Voir les différentes travaux effectués par bacula3 11 Commande list jobs 3 12 Commande sqlquery 3 2 Afficher
Vodafone Email Plus. User Guide for Windows Mobile
Vodafone Email Plus User Guide for Windows Mobile 1 Table of Contents 1 INTRODUCTION... 4 2 INSTALLING VODAFONE EMAIL PLUS... 4 2.1 SETUP BY USING THE VODAFONE EMAIL PLUS ICON...5 2.2 SETUP BY DOWNLOADING
Frequently Asked Questions for the USA TODAY e-newspaper
Frequently Asked Questions for the USA TODAY e-newspaper Navigating the USA TODAY e-newspaper A look at the toolbar Toolbar Functions, Buttons, and Descriptions The tab marked Contents will take the e-reader
GCM GOOGLE CLOUD MESSAGING
GCM GOOGLE CLOUD MESSAGING By +Dennis Geurts / @dennisgggg ABOUT ME +Dennis Geurts Software Architect at Luminis Co-organizer Dutch Android User Group LUMINIS 120+ skilled colleages software and interaction
Working with your NTU email off campus
Working with your NTU email off campus When you are working on a laptop or at home you can access your email via a number of methods. Using Outlook Web Access or NOW, you can access your email via any
Mobile development with Apache OFBiz. Ean Schuessler, co-founder @ Brainfood
Mobile development with Apache OFBiz Ean Schuessler, co-founder @ Brainfood Mobile development For the purposes of this talk mobile development means mobile web development The languages and APIs for native
Accessing External Databases from Mobile Applications
CENTER FOR CONVERGENCE AND EMERGING NETWORK TECHNOLOGIES CCENT Syracuse University TECHNICAL REPORT: T.R. 2014-003 Accessing External Databases from Mobile Applications Version 2.0 Authored by: Anirudh
Hours: The hours for the class are divided between practicum and in-class activities. The dates and hours are as follows:
March 2014 Bienvenue à EDUC 1515 Français Langue Seconde Partie 1 The following information will allow you to plan in advance for the upcoming session of FSL Part 1 and make arrangements to complete the
Saruman Documentation
Saruman Documentation Release 0.3.0 Tycho Tatitscheff January 05, 2016 Contents 1 Saruman 3 1.1 Most important Urls.................................... 3 1.2 Technologies used.....................................
READ AND FOLLOW ALL SAFETY INSTRUCTIONS 1. DANGER RISK OF SHOCK DISCONNECT POWER BEFORE INSTALLATION
UR Series LED Upgrade Kit Includes: 48" Linear Option IMPORTANT SAFEGUARDS When using electrical equipment, basic safety precautions should always be followed including the following: READ AND FOLLOW ALL
Assignment # 1 (Cloud Computing Security)
Assignment # 1 (Cloud Computing Security) Group Members: Abdullah Abid Zeeshan Qaiser M. Umar Hayat Table of Contents Windows Azure Introduction... 4 Windows Azure Services... 4 1. Compute... 4 a) Virtual
Short Form Description / Sommaire: Carrying on a prescribed activity without or contrary to a licence
NOTICE OF VIOLATION (Corporation) AVIS DE VIOLATION (Société) Date of Notice / Date de l avis: August 29, 214 AMP Number / Numéro de SAP: 214-AMP-6 Violation committed by / Violation commise par : Canadian
Learning Web App Development
Learning Web App Development Semmy Purewal Beijing Cambridge Farnham Kbln Sebastopol Tokyo O'REILLY Table of Contents Preface xi 1. The Workflow 1 Text Editors 1 Installing Sublime Text 2 Sublime Text
Monitoring Open Source pour Java avec JmxTrans, Graphite et Nagios
Monitoring Open Source pour Java avec JmxTrans, Graphite et Nagios 27 au 29 mars 2013 Speaker @cyrilleleclerc CTO Architect Cyrille Le Clerc Fort Traffic Open Source Cloud, DevOps Speaker @hgomez Architecte
Document From MAXIMUM BUSINESS INFORMATION TECHNOLOGY ON A. OwnCloud User Manual. TO I Cafe`
Document From MAXIMUM BUSINESS INFORMATION TECHNOLOGY ON A OwnCloud User Manual TO I Cafe` DATED 20 Sep 2014 User Manual Guid For Owncloud I. Accessing the owncloud Web Interface To access the owncloud
