Skip to content

Instantly share code, notes, and snippets.

@ksahnine
ksahnine / gist:3930425
Created October 22, 2012 08:49
D3 - Structure minimale
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>D3.js demo</title>
<script type="text/javascript" src="http://d3js.org/d3.v2.min.js"></script>
</head>
<body>
<script type="text/javascript">
d3.json(
@ksahnine
ksahnine / gist:3930652
Created October 22, 2012 09:38
D3 - Pattern type
d3.json("http://localhost:8080/gdp-fr.json", function(data) {
var svg = d3.select("body").append("svg")
svg.selectAll("rect")
.data(data[1])
.enter()
.append("rect")
.attr("y", function(d,i) {
// Calcule y en fonction de la propriété d.value du jeu de données
})
@ksahnine
ksahnine / gist:3930661
Created October 22, 2012 09:41
D3 - Données PIB format JSON
[{"page":1,"pages":2,"per_page":"50","total":52},[{"indicator":{"id":"NY.GDP.MKTP.CD","value":"GDP (current US$)"},"country":{"id":"FR","value":"France"},"value":"2619685000757.11","decimal":"0","date":"2009"}
]
]
@ksahnine
ksahnine / gist:3932302
Created October 22, 2012 16:14
D3 - Scale
var yScale = d3.scale.linear()
.domain([
0,
d3.max( data[1], function(d) {return Math.round(d.value/1000000000) } )
])
.range([
h,
h - d3.max( data[1], function(d) { return Math.round(d.value/10000000000) } )
]);
@ksahnine
ksahnine / gist:3932340
Created October 22, 2012 16:20
D3 - Axe vertical
var yAxis = d3.svg.axis()
.scale(yScale)
.orient("left")
.ticks(5);
@ksahnine
ksahnine / gist:3932384
Created October 22, 2012 16:30
D3 - Axe et libellé
svg.append("g")
.attr("class", "yaxis")
.attr("transform", "translate(40,0)")
.call(yAxis)
.append("text")
.attr("transform", "rotate(-90)")
.attr("y", 6)
.attr("dy", ".71em")
.style("text-anchor", "end")
.text("PIB de la France (Md de $)");
@ksahnine
ksahnine / gist:3959383
Created October 26, 2012 15:19
Socket.IO - client - 1
<script src="/socket.io/socket.io.js"></script>
@ksahnine
ksahnine / gist:3959421
Created October 26, 2012 15:26
Socket.IO - client - 2
// Connection au serveur
var socket = io.connect('http://localhost:8081');
// Listener sur la réception de données du serveur
socket.on('info serveur', function(dataFromServer) {
// Traitement du message reçu
});
// Envoi de données vers le serveur
socket.emit('donnees saisies', dataToServer);
@ksahnine
ksahnine / gist:3959560
Created October 26, 2012 15:51
Socket.IO - serveur - 1
var app = require('express')()
, server = require('http').createServer(app)
, io = require('socket.io').listen(server);
server.listen(8081);
app.get('/', function handler(req, res) {
res.sendfile(__dirname + '/client.html');
});
@ksahnine
ksahnine / gist:3959569
Created October 26, 2012 15:52
Socket.IO - serveur - 2
io.sockets.on('connection', function(socket) {
// Un client se connecte
console.log('Connexion');
socket.on('saisie', function(data) {
// Message reçu du client
// On le ré-expédie vers le client
socket.emit('info', { message: '>>ECHO : ' + data });
});
});