Développement Web 2. Bertrand Estellon. April 1, Aix-Marseille Université. Bertrand Estellon (AMU) Développement Web 2 April 1, /
|
|
- Aubrey Carpenter
- 6 years ago
- Views:
Transcription
1 Développement Web 2 Bertrand Estellon Aix-Marseille Université April 1, 2014 Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
2 Nodejs Nodejs Introduction Introduction Nodejs est une plateforme : permettant d écrire des applications; basée sur le langage JavaScript (et l interpréteur de Chrome); adaptée à la programmation de serveur Web; Exemple : var http = require('http'); httpcreateserver(function (req, res) { reswritehead(200, {'Content-Type': 'text/plain'); resend('hello World\n'); )listen(8888, '127001'); consolelog('server running at Exécution : $ node examplejs Server running at Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
3 Nodejs Les modules Nodejs Les modules Pour organiser votre programme, vous pouvez définir des modules : var tools = require('/toolsjs'); consolelog( 'Aire = ' + toolscirclearea(4)); Le fichier toolsjs : var PI = MathPI; moduleexportscirclearea = function (r) { return PI * r * r; moduleexportsrectanglearea = function (w, h) { return w*h; Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
4 Nodejs Les modules Nodejs Installation de modules Pour télécharger et installer des modules, vous pouvez utiliser npm : $ npm install express npm http GET La commande npm cherche un répertoire node_modules présent dans un répertoire se trouvant entre le répertoire courant et la racine; Le module est installé dans le répertoire node_modules trouvé; Il est accessible dans tous les sous-répertoires du répertoire courant; On a accès au module installé à l aide la fonction require; var express = require('express'); var app = express(); appget('/ttxt', function(req, res){ ressend('t'); ); applisten(8080); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
5 Nodejs Nodejs Quelques API Quelques API Un certain nombre de fonctions sont fournies dans nodejs : voir (je vous laisse parcourir les API) Exemple avec STDIO : consolelog('count: %d', count); consoleinfo('info: %s', info); consoleerror('erreur : Truc == null'); consolewarn('attention : variable Truc contient null'); Exemple avec Net : var net = require('net'); var server = netcreateserver(function (socket) { consolelog(socketremoteaddress); socketend("bye\n"); ); serverlisten(8888, function() { consolelog('go!'); ); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
6 Nodejs Express Nodejs Express Introduction Express est un framework pour construire des applications Web en Node Installation : > npm install express npm http GET Création d une application : var express = require('express'); var app = express(); Après avoir configuré l application, on commence à écouter sur un port : applisten(8080); consolelog('nous écoutons sur le port 8080'); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
7 Nodejs Express Nodejs Express Répondre à une demande Vous pouvez répondre à des requêtes par des callbacks : var express = require('express'); var app = express(); var count = 0; appget('/count', function(req, res) { ressend(""+count); count++; ); applisten(8080); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
8 Nodejs Express Nodejs Express Accès aux paramètres Vous pouvez également accéder aux paramètres de la requête HTTP : var express = require('express'); var app = express(); var count = 0; /* */ appget('/set', function(req, res, next) { var value = reqquery['value']; if (!value) return next(new Error("value required!")); count = parseint(value); ressend("ok"); ); applisten(8080); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
9 Nodejs Express Nodejs Express Contenus statiques Pour distribuer le contenu d un répertoire : var express = require('express'); var app = express(); appuse(expressstatic( dirname + '/public')); appuse('/static', expressstatic( dirname + '/static')); applisten(8080); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
10 Nodejs Express Nodejs Express Les sessions Utilisation des sessions : var express = require('express'); var app = express(); appuse(expresscookieparser('zhizehgiz')); appuse(expresssession()); appget('/', function(req, res){ if (reqsessioncount) { reqsessioncount++; else { reqsessioncount = 1; ressend(""+reqsessioncount); ); applisten(8080); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
11 Nodejs Express Nodejs Express Les paramètres Les paramètres : var express = require('express'); var app = express(); var users = [{name:"joe",age:21,{name:"bob",age:22]; appget('/user/:user', function(req, res, next){ var user = users[reqparamsuser]; if (!user) return next(new Error("bad user id!")); reswritehead(200, {'Content-Type': 'application/json'); ressend(jsonstringify(user)); ); applisten(8080); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
12 Nodejs Express Nodejs Express Les sequences Les sequences : var express = require('express'); var app = express(); appuse(expresscookieparser('zhizehgiz')); appuse(expresssession()); appget('/auth', function(req, res, next) { if (reqquery["password"]=="toto") reqsessionauth = true; ressend("ok"); ); function restrict(req, res, next) { if (!reqsessionauth) next(new Error("Unauthorized")); else next(); /* */ Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
13 Nodejs Express Nodejs Express Les sequences Les sequences (suite) : /* */ appget('/auth', function(req, res, next) { /* */ ); function restrict(req, res, next) { /* */ appget('/t', restrict, function(req, res, next) { ressend("t"); ); appget('/h', restrict, function(req, res, next) { ressend("h"); ); applisten(8080); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
14 Nodejs Express Nodejs Express Templates avec ejs Il est possible d utiliser un langage proche de PHP pour générer les pages : var express = require('express'); var app = express(); appengine('html', require('ejs') express); appset('views', dirname + '/views'); appset('view engine', 'html'); var users = [{name:"joe",age:21,{name:"bob",age:22]; appget('/', function(req, res){ resrender('users', { users: users, ); ); applisten(8080); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
15 Nodejs Express Nodejs Express Templates avec ejs Le fichier usershtml : <!doctype html> <html> <head> <title>example</title> </head> <body> Users : <ul> <% for (i in users) { %> <li><%= users[i]name %> : <%= users[i]age %></li> <% %> </ul> </body> </html> Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
16 Nodejs Express Nodejs Express Templates avec Jade Il est possible d utiliser un langage proche de PHP pour générer les pages : var express = require('express'); var app = express(); appset('views', dirname + '/views'); appset('view engine', 'jade'); var users = [{name:"joe",age:21,{name:"bob",age:22]; appget('/', function(req, res){ resrender('users', { users: users, ); ); applisten(8080); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
17 Nodejs Express Nodejs Express Templates avec Jade Le fichier usershtml :!!! 5 html head title Example body Users : ul for user in users li #{username : #{userage Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
18 Nodejs MySQL Nodejs MySQL var mysql = require('mysql'); var connection = mysqlcreateconnection( { host : 'localhost', user : 'username', password : 'password', database : 'database' ); connectionconnect(); var query = 'SELECT * FROM users'; connectionquery(query, function(err, rows) { if (err) throw err; for (var i in rows) consolelog(rows[i]name +" "+rows[i]age); ); connectionend(); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
19 Nodejs MySQL Nodejs MySQL var mysql = require('mysql'); var connection = mysqlcreateconnection(/* */); connectionconnect(); var id = 3; var query = 'SELECT * FROM users WHERE id =?'; connectionquery(query, [id], function(err, rows) { if (err) throw err; for (var i in rows) consolelog(rows[i]name +" "+rows[i]age); ); connectionend(); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
20 Nodejs SocketIO Introduction Nodejs SocketIO SocketIO est un module qui permet de mettre en place (ou de simuler) une connexion bidirectionnelle entre un client et un serveur Techniques utilisées (en fonction de la disponibilité): WebSocket Technologie Flash AJAX long polling AJAX multipart streaming Forever Iframe JSONP Polling Navigateurs supportés : Internet Explorer 55+, Safari 3+, Google Chrome 4+, Firefox 3+, Opera 1061+, iphone Safari, ipad Safari, Android WebKit, WebOs WebKit Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
21 Nodejs SocketIO Introduction Nodejs SocketIO Association de WebSocket et de Express : var app = require('express')(); var server = require('http')createserver(app); var io = require('socketio')listen(server); appget('/', function (req, res) { ressendfile( dirname + '/clienthtml'); ); /* Configuration du serveur */ serverlisten(8080); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
22 Nodejs SocketIO Le serveur Nodejs SocketIO Serveur Notifications Notification de la connexion d un nouveau client : iosocketson('connection', function (socket) { /* socket représente la connexion entre le client et le serveur */ ); Notification de la déconnexion d un client : socketon('disconnect', function () { /* */ ); Notification de la réception d un message : socketon('msgname', function(data) { /* */ ); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
23 Nodejs SocketIO Le serveur Nodejs SocketIO Serveur Messages Envoyer un message via un socket : socketemit('msgname', data); Envoyer un message à tous les autres sockets (à l exception de ce socket) : socketbroadcastemit('msgname', data); Envoyer un message à tous les sockets : iosocketsemit('msgname', data); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
24 Nodejs SocketIO Le client Nodejs SocketIO Client Ajout du script : <script src="/socketio/socketiojs"></script> Connexion : var socket = ioconnect(' Envoyer un message au serveur : socketemit('msgname', data); Écouter un type de message provenant du serveur : socketon('msgname', function (data) { /* */ ); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
25 Nodejs SocketIO Premier exemple Nodejs SocketIO Premier exemple Contenu du fichier indexhtml : <!doctype html> <html> <head> <script src="/socketio/socketiojs"></script> <script src="jqueryminjs"></script> <script src="indexjs"></script> </head> <body> <div id="time"></div> <input id="format"></input> <button id="changeformat">changer le format</button> </body> </html> Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
26 Nodejs SocketIO Premier exemple Nodejs SocketIO Premier exemple Contenu du fichier indexjs : $(document)ready(function() { var socket = ioconnect(' socketon('time', function (data) { $("#time")text(datatime); ); $("#changeformat")click(function() { socketemit("format", { format : $("#format")val() ); ); ); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
27 Nodejs SocketIO Premier exemple Nodejs SocketIO Premier exemple Code du serveur : var express = require('express'); var app = express(); var server = require('http')createserver(app); var io = require('socketio')listen(server); appuse('/', expressstatic( dirname + '/static')); /* Initialisation de la connexion */ serverlisten(8080); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
28 Nodejs SocketIO Premier exemple Nodejs SocketIO Premier exemple Initialisation de la connexion : var dateformat = require('dateformat'); var format = "h:mm:ss"; iosocketson('connection', function (socket) { setinterval(sendtime, 1000, socket); socketon('format', function (data) { format = dataformat; ); ); function sendtime(socket) { var now = new Date(); socketemit('time', { time : dateformat(now, format) ); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
29 Nodejs SocketIO Jeu de Morpion Nodejs SocketIO Morpion Client <!DOCTYPE html> <html> <head> <script src="jqueryminjs"></script> <script src="/socketio/socketiojs"></script> <script src="indexjs"></script> <style><!-- style --></style> </head> <body> <div id="c00" class="cell"></div> <!-- --> <div id="c22" class="cell"></div><br> <div id="message" class="message"></div><br/> </body> </html> Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
30 Nodejs SocketIO Jeu de Morpion Nodejs SocketIO Morpion Client var socket = ioconnect(' function play(data) { var x = datax; var y = datay; var color =(dataposition == 0)?"red":"blue"; $('#c'+x+y)css("background-color", color); function onclick(x,y) { socketemit("play", {x:x,y:y); function initcell(x,y) { $('#c'+x+y)click(function() { onclick(x,y); ); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
31 Nodejs SocketIO Jeu de Morpion Nodejs SocketIO Morpion Client $(function() { socketon('play', play); socketon('timetoplay', function () { $("#message")text("à vous de jouer"); ); socketon('wait', function () { /* */ ); socketon('lost', function () { /* */ ); socketon('win', function () { /* */ ); socketon('draw', function () { /* */ ); for (var i = 0; i < 3; i++) for (var j = 0; j < 3; j++) initcell(i,j); ); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
32 Nodejs SocketIO Jeu de Morpion Nodejs SocketIO Morpion Serveur var express = require('express'); var app = express(); var server = require('http')createserver(app); var io = require('socketio')listen(server); var Game = require('/game'); var Player = require('/player'); appuse(expressstatic( dirname+'/www')); var currentgame = new Game(); iosocketson('connection', function (socket) { currentgameaddplayer(new Player(socket)); if (currentgameisfull()) currentgame = new Game(); ); serverlisten(8080); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
33 Nodejs SocketIO Jeu de Morpion Nodejs SocketIO Morpion Serveur var Game = function() { thisplayers = []; thisactiveposition = -1; /* */ Gameprototype = { isfull : function() { return thisplayerslength == 2;, addplayer : function(player) { playersetgame(this, thisplayerslength); thisplayerspush(player); if (thisisfull()) thisstartgame();, /* */ Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
34 Nodejs SocketIO Jeu de Morpion Nodejs SocketIO Morpion Serveur var Player = function(socket) { thissocket = socket; thisgame = null; thisposition = 0; Playerprototype = { sendmessage : function(msg, data) { thissocketemit(msg, data);, setgame : function(game, position) { /* */ Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
35 Nodejs SocketIO Jeu de Morpion Nodejs SocketIO Morpion Serveur var Player = function(socket) { /* */ Playerprototype = { /* */ setgame : function(game, position) { thisgame = game; thisposition = position; thissocketon('play', function(data) { gameplay(position, datax, datay); ); thissocketon('disconnect', function() { gamegiveup(position); ); Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
36 Nodejs SocketIO Jeu de Morpion Nodejs SocketIO Morpion Serveur var Game = function() { /* */ thisinitgrid(); Gameprototype = { isfull : function() { /* */, addplayer : function(player) { /* */, initgrid : function() { thisnbemptycells = 9; thisgrid = []; for (var x = 0; x < 3; x++) { thisgrid[x] = []; for (var y = 0; y < 3; y++) thisgrid[x][y] = -1;, /* */ Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
37 Nodejs SocketIO Jeu de Morpion Nodejs SocketIO Morpion Serveur Gameprototype = { isfull : function() { /* */, addplayer : function(player) { /* */, initgrid : function() { / * */, setactiveposition : function(position) { thisactiveposition = position; thisplayers[position]sendmessage("timetoplay"); thisplayers[1 - position]sendmessage("wait");, startgame : function() { thissetactiveposition(0);, /* */ Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
38 Nodejs SocketIO Jeu de Morpion Nodejs SocketIO Morpion Serveur Gameprototype = { /* isfull, addplayer, initgrid, setactiveposition */ play : function(position, x, y) { if (thisactiveposition!=position) return; if (thisgrid[x][y]!=-1) return; thisgrid[x][y] = position; thisnbemptycells--; for (var p = 0; p < 2; p++) thisplayers[p]sendmessage("play", { position : position, x : x, y : y ); if (thishaswin(position)) thisendgamewithavictory(position); else if (thisnbemptycells==0) thisendgameinadraw(position); else thissetactiveposition(1 - thisactiveposition);, /* */ Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
39 Nodejs SocketIO Jeu de Morpion Nodejs SocketIO Morpion Serveur Gameprototype = { /* isfull, addplayer, initgrid, setactiveposition, play */ endgameinadraw : function() { thisplayers[0]sendmessage("draw"); thisplayers[1]sendmessage("draw"); thisactiveposition = -1;, endgamewithavictory : function(position) { thisplayers[position]sendmessage("win"); thisplayers[1-position]sendmessage("lost"); thisactiveposition = -1;, giveup : function(position) { if (thisactiveposition!=-1) { thisplayers[1-position]sendmessage("win"); thisactiveposition = -1; thisplayers = [];, /* */ Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
40 Nodejs SocketIO Jeu de Morpion Nodejs SocketIO Morpion Serveur Gameprototype = { /* isfull, addplayer, initgrid, setactiveposition, play */ haswin : function(pos) { for (var i = 0; i < 3; i++) { var ok1 = true, ok2 = true; for (var j = 0; j < 3; j++) ok1 = ok1 && (thisgrid[i][j]==pos); for (var j = 0; j < 3; j++) ok2 = ok2 && (thisgrid[j][i]==pos); if (ok1 ok2) return true; var ok1 = true, ok2 = true; for (var i = 0; i < 3; i++) ok1 = ok1 && (thisgrid[i][i]==pos); for (var i = 0; i < 3; i++) ok2 = ok2 && (thisgrid[i][2-i]==pos); return ok1 ok2; Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
41 Nodejs SocketIO Jeu de Morpion Nodejs SocketIO Morpion Serveur Organisation du programme du serveur : trois fichiers : mainjs, gamejs, playerjs Exportation : var Player = function(socket) { /* */ Playerprototype = { setgame : function(game, position) { /* */, sendmessage : function(msg, data) { /* */ moduleexports = Player; Bertrand Estellon (AMU) Développement Web 2 April 1, / 436
Module 6 Node.js and Socket.IO
Module 6 Node.js and Socket.IO Module 6 Contains 2 components Individual Assignment and Group Assignment Both are due on Wednesday November 15 th Read the WIKI before starting Portions of today s slides
More informationNODE.JS SERVER SIDE JAVASCRIPT. Introduc)on Node.js
NODE.JS SERVER SIDE JAVASCRIPT Introduc)on Node.js Node.js was created by Ryan Dahl starting in 2009. For more information visit: http://www.nodejs.org 1 What about Node.js? 1. JavaScript used in client-side
More informationWe are assuming you have node installed!
Node.js Hosting We are assuming you have node installed! This lesson assumes you've installed and are a bit familiar with JavaScript and node.js. If you do not have node, you can download and install it
More informationVLANs. Commutation LAN et Wireless Chapitre 3
VLANs Commutation LAN et Wireless Chapitre 3 ITE I Chapter 6 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 1 Objectifs Expliquer le rôle des VLANs dans un réseau convergent. Expliquer le rôle
More informationUDR56K-4 Software. NW Digital Radio John D. Hays, K7VE Microhams 2013
UDR56K-4 Software NW Digital Radio John D. Hays, K7VE Microhams 2013 Topics Operating System Generic Applications Ported Applications Writing Command and Control Web Based Operating System Debian Linux
More informationA practical introduction
A practical introduction Felix Geisendörfer Øredev 09.11.2011 (v1) @felixge Twitter / GitHub / IRC Felix Geisendörfer (Berlin, Germany) Audience? JavaScript? Node.js? History Feb 16, 2009 Ryan Dahl starts
More informationCOMP 2406: Fundamentals of Web Applications. Winter 2014 Mid-Term Exam Solutions
COMP 2406: Fundamentals of Web Applications Winter 2014 Mid-Term Exam Solutions 1. ( true ) The Register button on / causes a form to be submitted to the server. 2. ( false ) In JavaScript, accessing object
More informationIERG Tutuorial 5. Benedict Mak
IERG4210 - Tutuorial 5 Benedict Mak Handlebars - Basic - Handlebars - Three elements - Template, control JS, Data - Two ways to use Handlebars - Client side - Handlebars - Get data in the form of JSON
More informationExpress.JS. Prof. Cesare Pautasso Modularity
1 / 30 Express.JS Prof. Cesare Pautasso http://www.pautasso.info cesare.pautasso@usi.ch @pautasso Modularity var msg = "x:"; //private var f = function(x) { return msg + " " + x; module.exports.f = f;
More informationAaron Bartell Director of IBM i Innovation
Watson IBM i WebSockets Aaron Bartell Director of IBM i Innovation albartell@krengeltech.com Copyright 2015 Aaron Bartell This session brought to you by... Consulting - Jumpstart your open source pursuit.
More informationRead me carefully before making your connections!
CROSS GAME USER GUIDE Read me carefully before making your connections! Warning: The CROSS GAME converter is compatible with most brands of keyboards and Gamer mice. However, we cannot guarantee 100% compatibility.
More informationLets take a closer look at Ajax & node.js. Claudia Hauff TI1506: Web and Database Technology
Lets take a closer look at Ajax & node.js Claudia Hauff TI1506: Web and Database Technology ti1506-ewi@tudelft.nl At the end of this lecture, you should be able to Implement client-side code using plain
More informationLecture 18. WebSocket
Lecture 18. WebSocket 1. What is WebSocket? 2. Why WebSocket? 3. WebSocket protocols 4. WebSocket client side 5. WebSocket on server side 1. Case study, WebSocket on nose.js 2. Case study, WebSocket on
More informationTP5 Sécurité IPTABLE. * :sunrpc, localhost :domain,* :ssh, localhost :smtp, localhost:953,*: Tous sont des protocoles TCP
TP5 Sécurité IPTABLE Routage classique Q1) Sur la machiine FIREWALL, les services actifs sont : Netstat -a * :sunrpc, localhost :domain,* :ssh, localhost :smtp, localhost:953,*:53856. Tous sont des protocoles
More informationAbout Transferring License Rights for. PL7 V4.5 and Unity Pro V2.3 SP1 Software
Page 1 of 38 Click here to access the English Cliquez ici pour accéder au Français Klicken Sie hier, um zum Deutschen zu gelangen Premete qui per accedere all' Italiano Pulse acquì para acceder al Español
More informationCOMP 2406: Fundamentals of Web Applications. Fall 2013 Mid-Term Exam Solutions
COMP 2406: Fundamentals of Web Applications Fall 2013 Mid-Term Exam Solutions 1. ( false ) HTTP cookies are only sent to a web server when explicitly requested. 2. ( false ) Cookies are normally parsed
More informationProgrammation Mobile Android Master CCI
Programmation Mobile Android Master CCI Bertrand Estellon Aix-Marseille Université March 23, 2015 Bertrand Estellon (AMU) Android Master CCI March 23, 2015 1 / 266 Navigation entre applications Nous allons
More informationTutorial :.Net Micro Framework et.net Gadgeteer
1 Co-développement émulateur personnalisé et application pour une cible. 1.1 Utilisation d un émulateur personnalisé Après l installation du SDK.Net Micro, dans le répertoire d exemples, Framework (ex.
More informationNode.js. Node.js Overview. CS144: Web Applications
Node.js Node.js Overview JavaScript runtime environment based on Chrome V8 JavaScript engine Allows JavaScript to run on any computer JavaScript everywhere! On browsers and servers! Intended to run directly
More informationJava Desktop System Release 2 Installation Guide
Java Desktop System Release 2 Installation Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 817 5178 10 April 2004 Copyright 2004 Sun Microsystems, Inc. 4150 Network
More informationJava et Mascopt. Jean-François Lalande, Michel Syska, Yann Verhoeven. Projet Mascotte, I3S-INRIA Sophia-Antipolis, France
Java et Mascopt Jean-François Lalande, Michel Syska, Yann Verhoeven Projet Mascotte, IS-INRIA Sophia-Antipolis, France Formation Mascotte 09 janvier 00 Java Java et Mascopt - Formation Mascotte 09 janvier
More informationSunVTS Quick Reference Card
SunVTS Quick Reference Card Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 U.S.A. 650-960-1300 Part No. 806-6519-10 January 2001, Revision A Send comments about this document to:
More informationCOMP 2406: Fundamentals of Web Applications Winter 2014 Final Exam Solutions Instructor: Anil Somayaji April 24, 2014
COMP 2406: Fundamentals of Web Applications Winter 2014 Final Exam Solutions Instructor: Anil Somayaji April 24, 2014 This exam has 5 pages (including this one). There are 20 questions. Each question is
More informationSolaris 9 9/04 Installation Roadmap
Solaris 9 9/04 Installation Roadmap This document is a guide to the DVD-ROM, CD-ROMs, and documents involved in installing the Solaris 9 9/04 software. Unless otherwise specified, this document refers
More informationCookies, sessions and authentication
Cookies, sessions and authentication TI1506: Web and Database Technology Claudia Hauff! Lecture 7 [Web], 2014/15 1 Course overview [Web] 1. http: the language of Web communication 2. Web (app) design &
More informationSun Control Station. Performance Module. Sun Microsystems, Inc. Part No September 2003, Revision A
Sun Control Station Performance Module Sun Microsystems, Inc. www.sun.com Part No. 817-3610-10 September 2003, Revision A Submit comments about this document at: http://www.sun.com/hwdocs/feedback Copyright
More informationRéinitialisation de serveur d'ucs série C dépannant TechNote
Réinitialisation de serveur d'ucs série C dépannant TechNote Contenu Introduction Conditions préalables Conditions requises Composants utilisés Sortie prévue pour différents états de réinitialisation Réinitialisation
More informationSolaris 8 6/00 Sun Hardware Roadmap
Solaris 8 6/00 Sun Hardware Roadmap This document is a guide to the CDs and documents involved in installing the Solaris 8 6/00 software. Note The arrangement of CDs in the Solaris 8 product is different
More informationJavascript. Some tools for building web- based groupware. Javascript. Javascript. Master Informa-que - Université Paris- Sud 1/15/14
Some tools for building web- based groupware Michel Beaudouin- Lafon mbl@lri.fr More powerful than you think Func-onal: func-ons are first- class objects func%on map(a, f) { var sum = 0; for (var i = 0;
More informationPersistence. SWE 432, Fall 2017 Design and Implementation of Software for the Web
Persistence SWE 432, Fall 2017 Design and Implementation of Software for the Web Today Demo: Promises and Timers What is state in a web application? How do we store it, and how do we choose where to store
More informationDÉVELOPPER UNE APPLICATION IOS
DÉVELOPPER UNE APPLICATION IOS PROTOCOLES CE COURS EST EXTRAIT DU LIVRE APP DEVELOPMENT WITH SWIFT 1 PROTOCOLES Définit un plan de méthodes, de propriétés et d'autres exigences qui conviennent à une tâche
More informationdelegator Documentation
delegator Documentation Release 1.0.1 Daniel Knell August 25, 2014 Contents 1 Getting Started 3 1.1 Installation................................................ 3 1.2 Quickstart................................................
More informationImproving display and customization of timetable in Indico Pierre-Luc, Hémery Jose Benito, Gonzalez Lopez 20 August 2008 Version 1
CERN openlab otn-2008-01 openlab Technical Note Improving display and customization of timetable in Indico Pierre-Luc, Hémery Jose Benito, Gonzalez Lopez 20 August 2008 Version 1 Plan of the report Distribution::
More informationWhat is Node.js? Tim Davis Director, The Turtle Partnership Ltd
What is Node.js? Tim Davis Director, The Turtle Partnership Ltd About me Co-founder of The Turtle Partnership Working with Notes and Domino for over 20 years Working with JavaScript technologies and frameworks
More informationPlanning Premier Workshops de Septembre 2018 à Juin 2019 Microsoft Services Edition Juillet 2018
Planning Premier Workshops de Septembre 2018 à Juin 2019 Microsoft Services Edition Juillet 2018 Vous trouverez ci-dessous la liste de nos formations disponibles à ce jour. D autres sessions viendront
More informationLecture 10(-ish) Web [Application] Frameworks
Lecture 10(-ish) Web [Application] Frameworks Minimal Python server import SocketServer import SimpleHTTPServer class Reply(SimpleHTTPServer.SimpleHTTPRequestHandler): def do_get(self): # query arrives
More informationEND-TO-END JAVASCRIPT WEB APPS
END-TO-END JAVASCRIPT WEB APPS HTML5, NODE.JS AND MONGODB CADEC 2013 by Peter Larsson JAVASCRIPT IS NOT EVIL TECH. INDEX, JAN 2013 Dice Job Posts Google 20,000 2,400,000,000 15,000 1,800,000,000 10,000
More informationSun Java System Connector for Microsoft Outlook Q4 Installation Guide
Sun Java System Connector for Microsoft Outlook 7 2005Q4 Installation Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 819 2565 10 October 2005 Copyright 2005 Sun
More informationNode.js. Embedded web server
Node.js Embedded web server CMPT 433 Slides 11 Dr. B. Fraser 18-06-10 1 Topics 1) How to build a static web pages:.html,.css,.js? 2) How to serve static pages with Node.js? 3) How to create dynamic content
More informationOracle ZFS Storage Appliance Cabling Guide. For ZS3-x, 7x20 Controllers, and DE2-24, Sun Disk Shelves
Oracle ZFS Storage Appliance Cabling Guide For ZS3-x, 7x20 Controllers, and DE2-24, Sun Disk Shelves Part No: E53670-01 June 2014 Copyright 2009, 2014, Oracle and/or its affiliates. All rights reserved.
More informationFormation. Application Server Description du cours
Formation Application Server 2017 Description du cours Formation Application Server 2017 Description Cette formation d une durée de 5 jours aborde les concepts de l infrastructure logicielle System Platform
More informationSolaris 8 User Supplement. Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA U.S.A.
Solaris 8 User Supplement Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 U.S.A. Part Number 806-3646 10 June 2000 Copyright 2000 Sun Microsystems, Inc. 901 San Antonio Road, Palo
More informationNodeJS and JavaScripteverywhere
NodeJS and JavaScripteverywhere Matthew Eernisse YOW Conference: December 2011 Who am I? Matthew Eernisse Work at Yammer @mde on Twitter What is JavaScript- everywhere? A list of stuff Ruby JavaScript
More informationRackmount Placement Matrix
Rackmount Placement Matrix Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. 650-960-1300 805-4748-30 June, 2002, Revision A Send comments about this document to: docfeedback@sun.com
More informationman pages section 6: Demos
man pages section 6: Demos Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 816 0221 10 May 2002 Copyright 2002 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara,
More informationTutorial 1 : minimal example - simple variables replacements
Tutorial 1 : minimal example - simple variables replacements The purpose of this tutorial is to show you the basic feature of odtphp : simple variables replacement. require_once('../library/odf.php');
More informationControlLogix Redundant Power Supply Chassis Adapter Module
Installation Instructions ControlLogix Redundant Power Supply Chassis Adapter Module Catalog Number 1756-PSCA Use this publication as a guide when installing the ControlLogix 1756-PSCA chassis adapter
More informationClasses internes, Classes locales, Classes anonymes
Classes internes, Classes locales, Classes anonymes Victor Marsault Aldric Degorre CPOO 2015 Enum (1) 2 Quand les utiliser: disjonctions de cas type au sens courant (eg. type de messages d erreur, type
More informationWeb Application Development
Web Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie SERVER SIDE JAVASCRIPT PART 1 Outline 1.
More informationnode.js A quick tour (v4)
node.js A quick tour 15.02.2011 (v4) About Felix Geisendörfer 23 years Berlin, Germany @felixge Core Contributor & Module Author node-mysql node-formidable File uploading & processing as an infrastructure
More informationSun Fire V100 Server Product Notes
Sun Fire V100 Server Product Notes Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 U.S.A. 650-960-1300 Part No. 816-2754-13 May 2002 Revision A Send comments about this document to:
More informationGNOME 2.0 Desktop for the Solaris Operating Environment Installation Guide
GNOME 2.0 Desktop for the Solaris Operating Environment Installation Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 806 6875 15 April 2003 Copyright 2003 Sun Microsystems,
More informationOracle Dual Port QDR InfiniBand Adapter M3. Product Notes
Oracle Dual Port QDR InfiniBand Adapter M3 Product Notes Part No.: E40986-01 September 2013 Copyright 2013 Oracle and/or its affiliates. All rights reserved. This software and related documentation are
More informationSun Management Center 3.5 Service Availability Manager User s Guide
Sun Management Center 3.5 Service Availability Manager User s Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 816 7416 10 May, 2003 Copyright 2003 Sun Microsystems,
More informationSolaris 8 User Supplement. Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA U.S.A.
Solaris 8 User Supplement Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 U.S.A. Part Number 806-5181 10 October 2000 Copyright 2000 Sun Microsystems, Inc. 901 San Antonio Road, Palo
More informationGRAB YOUR FAVORITE TV SHOW AND SHARE IT
EURECOM INSTITUTE MULTIMEDIA AND COMMUNICATION DEPARTMENT PHAN THÀNH TRUNG GRAB YOUR FAVORITE TV SHOW AND SHARE IT SEMESTER PROJECT BIOT, 2013 EURECOM INSTITUTE MULTIMEDIA AND COMMUNICATION DEPARTMENT
More informationSales flow. Creation of a lead until the payment and the reminder through the consultation of the stock
Sales flow - Creation of a lead until the payment and the reminder through the consultation of the stock This flow requires the installation of CRM/Sales/Stocks/Invoicing/Accounting/Supply Chain applications
More informationWho am I? Weibo:
Nodejs Javascript Who am I? Twitter: @fengmk2 Weibo: @Python, @FaWave EDP @ 1. Hello world Nodejs Hello world 2. String = Buffer => Stream String Buffer, Buffer Stream Javascript Socket HTTP 3. Javascript
More informationSolaris 8 Desktop User Supplement. Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA U.S.A.
Solaris 8 Desktop User Supplement Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 U.S.A. Part Number 806-6610-10 January 2001 Copyright 2001 Sun Microsystems, Inc. 901 San Antonio
More informationFont Administrator User s Guide
Font Administrator User s Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 816 0281 10 May 2002 Copyright 2002 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara,
More informationSolaris 8 Desktop User Supplement
Solaris 8 Desktop User Supplement Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 U.S.A. Part No: 806 7501 10 April 2001 Copyright 2001 Sun Microsystems, Inc. 901 San Antonio Road,
More informationSun Control Station. Software Installation. Sun Microsystems, Inc. Part No January 2004, Revision A
Sun Control Station Software Installation Sun Microsystems, Inc. www.sun.com Part No. 817-3604-11 January 2004, Revision A Submit comments about this document at: http://www.sun.com/hwdocs/feedback Copyright
More informationSolaris PC NetLink 1.2 Installation Guide
Solaris PC NetLink 1.2 Installation Guide Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 U.S.A. 650-960-1300 Part No. 806-4277-10 July 2000, Revision A Send comments about this document
More informationCorey Clark PhD Daniel Montgomery
Corey Clark PhD Daniel Montgomery Web Dev Platform Cross Platform Cross Browser WebGL HTML5 Web Socket Web Worker Hardware Acceleration Optimized Communication Channel Parallel Processing JaHOVA OS Kernel
More informationFunctional Blue Prints for the Development of a KMapper Prototype
Functional Blue Prints for the Development of a KMapper Prototype SOFTWARE DESIGN DOCUMENT KMAPPER KNOWLEDGE INFERRING SERVICES And prepared by Martin Froment and Ludovic Tobin Fujitsu Consulting (Canada)
More informationFont Administrator User s Guide. Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA U.S.A.
Font Administrator User s Guide Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 4900 U.S.A. Part Number 806 2903 10 February 2000 Copyright 2000 Sun Microsystems, Inc. 901 San Antonio Road,
More informationMemory Hole in Large Memory X86 Based Systems
Memory Hole in Large Memory X86 Based Systems By XES Product Development Team http://www.sun.com/desktop/products Wednesday, May 19, 2004 1 Copyright 2004 Sun Microsystems, Inc. 4150 Network Circle, Santa
More informationJava Desktop System Release 3 Troubleshooting Guide
Java Desktop System Release 3 Troubleshooting Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 817 7304 10 January, 2005 Copyright 2005 Sun Microsystems, Inc. 4150
More informationUpdating web content in real time using Node.js
Quest Journals Journal of Software Engineering and Simulation Volume1 ~ Issue 3 (2013) pp: 01-06 ISSN(Online) :2321-3795 ISSN (Print):2321-3809 www.questjournals.org Research Paper Updating web content
More informationTraditional Chinese Solaris Release Overview
Traditional Chinese Solaris Release Overview Sun Microsystems, Inc. 901 N. San Antonio Road Palo Alto, CA 94303-4900 U.S.A. Part No: 806 3489 10 March 2000 Copyright 2000 Sun Microsystems, Inc. 901 N.
More informationMike Cantelon Marc Harter T.J. Holowaychuk Nathan Rajlich. FOREWORD BY Isaac Z. Schlueter MANNING
SAMPLE CHAPTER Mike Cantelon Marc Harter T.J. Holowaychuk Nathan Rajlich FOREWORD BY Isaac Z. Schlueter MANNING Node.js in Action by Mike Cantelon Marc Harter T.J. Holowaychuk Nathan Rajlich Chapter 8
More informationScenario Planning - Part 1
Scenario Planning - Part 1 By Adrian Cockcroft - Enterprise Engineering Sun BluePrints OnLine - February 2000 http://www.sun.com/blueprints Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303
More informationCable Management Guide
Cable Management Guide Sun Fire High End Server Systems Sun Microsystems, Inc. www.sun.com Part No. 817-1753-11 July 2005, Revision A Submit comments about this document at: http://www.sun.com/hwdocs/feedback
More informationSun Multipath Failover Driver 1.0 for AIX User s Guide
Sun Multipath Failover Driver 1.0 for AIX User s Guide Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 U.S.A. 650-960-1300 Part No. 806-7767-10 February 2001, Revision 01 Send comments
More informationGNOME 2.0 Desktop for the Solaris Operating Environment User Guide
GNOME 2.0 Desktop for the Solaris Operating Environment User Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 806 6873 13 July 2003 Copyright 2003 Sun Microsystems,
More informationSun Ethernet Fabric Operating System RMON Administration Guide
Sun Ethernet Fabric Operating System RMON Administration Guide Part No: E24665-03 July 2015 Part No: E24665-03 Copyright 2010, 2015, Oracle and/or its affiliates. All rights reserved. This software and
More informationInstallation des interfaces et utilisation de WorldCAT-CIF pour le catalogue CD Meusburger
Installation des interfaces et utilisation de pour le catalogue CD Meusburger 1. Condition préalable: lors de l installation du catalogue CD Meusburger, il faut avoir mis en place DAKO. 2. Veuillez vérifier
More informationOracle Flash Storage System and Oracle MaxRep for SAN Security Guide
Oracle Flash Storage System and Oracle MaxRep for SAN Security Guide Part Number E56029-01 Oracle Flash Storage System, release 6.1 Oracle MaxRep for SAN, release 3.0 2014 October Oracle Flash Storage
More informationIndex. Backbone.js app, 274 Behavior-driven development (BDD) language, 252 bodyparser() method, 257
Index A Abstraction dirname global variable, 159 middleware, 155, 158 module.exports, 160 query string parameter, 158 routes, 156, 158 AngelList API, 278 app.configure() method, 47 application.js modules,
More informationSun Patch Manager 2.0 Administration Guide for the Solaris 8 Operating System
Sun Patch Manager 2.0 Administration Guide for the Solaris 8 Operating System Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 817 5664 10 June 2004 Copyright 2004 Sun Microsystems,
More informationOracle ZFS Storage Appliance Simulator Quick Start Guide
Oracle ZFS Storage Appliance Simulator Quick Start Guide March 2015 Part No: E39468-05 This document is a guide to Oracle ZFS Storage Appliance Simulator setup and initial configuration. The Simulator
More informationCOURSE 80434: FIXED ASSETS IN MICROSOFT DYNAMICS NAV 2013
COURSE 80434: FIXED ASSETS IN MICROSOFT DYNAMICS NAV 2013 This courseware is provided as-is. Information and views expressed in this courseware, including URL and other Internet Web site references, may
More informationSun Ethernet Fabric Operating System. IGMP Administration Guide
Sun Ethernet Fabric Operating System IGMP Administration Guide Part No.: E21712-02 July 2012 Copyright 2010, 2012, Oracle and/or its affiliates. All rights reserved. This software and related documentation
More informationSun Management Center 3.6 Version 7 Add-On Software Release Notes
Sun Management Center 3.6 Version 7 Add-On Software Release Notes For Sun Fire, Sun Blade, Netra, and Sun Ultra Systems Sun Microsystems, Inc. www.sun.com Part No. 820-2406-10 October 2007, Revision A
More informationSun Fire TM E2900 Systems Getting Started
Sun Fire TM E2900 Systems Getting Started Accessing the Sun Fire E2900 Documentation Files The full documentation set for Sun Fire E2900 systems is available on the documentation CD (doc CD). 1. Insert
More informationFlexArmor 24V dc Sinking Input Modules
Installation Instructions FlexArmor 24V dc Sinking Input Modules Catalog Number 1798-IB4 & 1798-IB8 42638 The FlexArmor I/O modules (Cat. No. 1798-IB4 & 1798-IB8) mount in a FlexArmor Baseplate. Use compatible
More informationEPICS Channel Access using WebSocket
PCaPAC2012 EPICS Channel Access using WebSocket Sokendai UCHIYAMA KEK K. FURUKAWA RIKEN Y. HIGURASHI Advantage of Web-based System Use of the Wide Area Network for the System We can use Internet access
More informationNetworking & The Web. HCID 520 User Interface Software & Technology
Networking & The Web HCID 520 User Interface Software & Technology Uniform Resource Locator (URL) http://info.cern.ch:80/ 1991 HTTP v0.9 Uniform Resource Locator (URL) http://info.cern.ch:80/ Scheme/Protocol
More informationQuick Installation Guide TK-407K
Quick Installation Guide TK-407K Table of of Contents Contents Français... 1. Avant de commencer... 2. Procéder à l'installation... 3. Fonctionnement... Troubleshooting... 1 1 2 4 5 Version 01.05.2006
More informationThe Solaris Security Toolkit - Quick Start
The Solaris Security Toolkit - Quick Start Updated for Toolkit version 0.3 By Alex Noordergraaf - Enterprise Engineering and Glenn Brunette - Sun Professional Services Sun BluePrints OnLine - June 2001
More informationSun Ethernet Fabric Operating System. LLA Administration Guide
Sun Ethernet Fabric Operating System LLA Administration Guide Part No.: E41876-01 July 2013 Copyright 2013, Oracle and/or its affiliates. All rights reserved. This software and related documentation are
More informationSun StorEdge RAID Manager 6.2 Installation and Support Guide
Sun StorEdge RAID Manager 6.2 Installation and Support Guide for Windows NT Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 USA 650 960-1300 Fax 650 969-9131 Part No. 805-6888-10 September
More informationTP 3 des architectures logicielles Séance 3 : Architecture n-tiers distribuée à base d EJB. 1 Préparation de l environnement Eclipse
TP 3 des architectures logicielles Séance 3 : Architecture n-tiers distribuée à base d EJB 1 Préparation de l environnement Eclipse 1. Environment Used JDK 7 (Java SE 7) EJB 3.0 Eclipse JBoss Tools Core
More informationSun Java System Web Server 6.1 SP6 Getting Started Guide
Sun Java System Web Server 6.1 SP6 Getting Started Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 819 6513 Copyright 2006 Sun Microsystems, Inc. 4150 Network Circle,
More informationUltra Enterprise 6000/5000/4000 Systems Power Cord Installation
Ultra Enterprise 6000/5000/4000 Systems Power Cord Installation RevisiontoPowerCordInstallation Note This replaces Chapter 2, Cabling the System, in the Ultra Enterprise 6000/5000/4000 Systems Installation
More informationIERG 4080 Building Scalable Internet-based Services
Department of Information Engineering, CUHK MScIE 2 nd Semester, 2015/16 IERG 4080 Building Scalable Internet-based Services Lecture 9 Web Sockets for Real-time Communications Lecturer: Albert C. M. Au
More informationOracle MaxMan. User s Guide. Part Number E Oracle MaxMan release October
Oracle MaxMan User s Guide Part Number E54894-01 Oracle MaxMan release 6.1 2014 October Copyright 2005, 2014, Oracle and/or its affiliates. All rights reserved. This software and related documentation
More informationCatbook Workshop: Intro to NodeJS. Monde Duinkharjav
Catbook Workshop: Intro to NodeJS Monde Duinkharjav What is NodeJS? NodeJS is... A Javascript RUNTIME ENGINE NOT a framework NOT Javascript nor a JS package It is a method for running your code in Javascript.
More informationAccessible depuis une interface web, OCS va permettre de visualiser l'inventaire de votre parc.
OCS Inventory Qu'est-ce que OCS Inventory? OCS Inventory NG (Open Computers and Software Inventory NextGeneration), est un outil permettant d'effectuer un inventaire automatisé d'un parc informatique.
More information