Skip to content

Instantly share code, notes, and snippets.

Avatar

Pierre A. Duchateau paduc

  • Product Developer at Betagouv.fr
  • Under some cherry tree, France
View GitHub Profile
View README.md

Pour produire ce geojson, je suis d'abord parti du geojson des départements français simplifiés de france-geojson.

J'ai ensuite remplacé les départements de l'île de France par ceux du gist de @maximepvrt.

Enfin, pour les DOM, j'ai eu beaucoup de mal à effectuer une translation sur la carte sans créer de "déformation" (une déformation liée à la projection mercator, qui fait que si nous changeons de latitude, les formes paraissent allongées ou écrasées, par rapport à la forme dont nous avons l'habitude). Je suis parti d'une carte de la France en format SVG et j'ai utilisé svg-to-json pour placer les contours des DOM au bon endroit et produire un geojson avec des formes aux dimensions et au positionnement désiré (NB: le positionnement de la web app ne fonctionnait pas, alors j'ai du rentrer le

@paduc
paduc / future.ts
Last active Mar 28, 2020
Result and Future Monads in Typescript
View future.ts
//
// Prenons pour base le monad Result de paralogs (en un peu simplifié)
//
interface OkParams<T> {
isSuccess: true
value: T
}
interface FailParams<T> {
View keybase.md

Keybase proof

I hereby claim:

  • I am paduc on github.
  • I am paduc (https://keybase.io/paduc) on keybase.
  • I have a public key ASCODFEgfU4JAZflAM_hnLkDTULbUCwiLn2t_JhtMcf4uQo

To claim this, I am signing this object:

@paduc
paduc / immutableMerge.js
Last active Dec 3, 2020
Immutable merge for multiple objects (using lodash)
View immutableMerge.js
var _ = require('lodash');
function immutableMerge(){
if(arguments.length === 0) return {};
if(arguments.length === 1) return arguments[0];
if(arguments.length === 2) {
return _.merge(_.cloneDeep(arguments[0]), arguments[1]);
}
else{
return immutableMerge(_.first(arguments), immutableMerge(_.rest(arguments)));
@paduc
paduc / paste-from-spreadsheet.js
Last active Dec 15, 2015
This demonstrates how to handle the paste of some portion of a spreadsheet (google spreadsheet, excel, ...). Listens for a paste event on a textarea and converts the pasted data into an matrix of cells.
View paste-from-spreadsheet.js
var field = $('textarea.myTextarea');
var cells;
// listen to keydown on text field
field.on('keydown', function(e){
// detect if it's a copy-paste action
if(e.keyCode === 86){
@paduc
paduc / gist:1190969
Created Sep 3, 2011
Use Mongoose in Node
View gist:1190969
// Database
var mongoose = require('mongoose');
// connect to the db, test is the default db name (type db in the mongo shell to see yours)
mongoose.connect('mongodb://localhost:27017/test');
var Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;
ThingSchema = new Schema({
@paduc
paduc / Html in Express
Created Sep 1, 2011
How to serve a static html file with Express. Anyone have something better?
View Html in Express
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
app.set("view options", {layout: false});
// make a custom html template