hugo.soucy.cc

The personnal website source code of Hugo Soucy. Creates from an homebrewed static website generator (Ferron).
Log | Files | Refs

commit 7566b4edb2bb93738d47ab5f98d3755250db4ad8
parent 5d0a14b8de2152eb177e5d2d3bea7633c68c0c11
Author: Hugo Soucy <hsoucy@kronostechnologies.com>
Date:   Tue,  3 Apr 2018 10:05:24 -0400

Merge branch 'master' of github.com:hs0ucy/hugo.soucy.cc

Diffstat:
Mcontent/a-propos.json | 2+-
Mcontent/albums-preferes.json | 2+-
Mcontent/ce-site-web-explique-markdown.json | 2+-
Mcontent/file/curriculum-vitae.json | 2+-
Mcontent/file/pgp.json | 2+-
Mcontent/index.json | 2+-
Mcontent/note/2016/01/tiens-un-article-sur-le-darknet-que-plusieurs-devraient-lire.json | 2+-
Mcontent/note/2016/02/encryption-is-the-nsas-friend-20160127nsa_loves_it_when_you_use_pgp.json | 2+-
Mcontent/note/2016/02/what-is-it-about-society-that-disappoints-you-so-much.json | 2+-
Mcontent/note/2016/03/javascript-vanille-underscorejs-font-selon-moi-une-excellente-quipe-youmightnotneedjquery-webdev.json | 2+-
Mcontent/note/2016/04/encore-une-fois-je-viens-de-supprimer-mon-compte-facebook.json | 2+-
Mcontent/note/2016/04/tiens-tiens-tiens-le-projet-gnu-revamp-la-page-web.json | 2+-
Mcontent/note/2016/05/firefox-print-background-color.json | 2+-
Mcontent/note/2016/05/indieweb-in-a-nutshellown-your-identity-domain-website-content-uiux.json | 2+-
Mcontent/note/2016/05/jeunes-liberaux-ringards.json | 2+-
Mcontent/note/2016/05/justin-jackson-is-a-fucking-webmaster.json | 2+-
Mcontent/note/2016/06/nous-sommes-eduques-a-croire.json | 2+-
Mcontent/note/2016/07/emacs-sort-delete-matching-duplicate-lines.json | 2+-
Mcontent/note/2016/08/add-key-bindings-to-moving-faster-between-emacs-windows.json | 2+-
Mcontent/note/2016/08/everybody-should-be-twitter-verified.json | 2+-
Mcontent/note/2016/08/m4-as-css-pre-processor.json | 2+-
Mcontent/note/2016/08/matane-budget-participatif.json | 2+-
Mcontent/note/2016/08/nathalie-normandeau-et-la-radio-de-quebec.json | 2+-
Mcontent/note/2016/08/openbsd-pour-tous.json | 2+-
Mcontent/note/2016/08/pokemon-go-et-societe-de-surveillance.json | 2+-
Mcontent/note/2016/08/programming-languages-hyperpolyglot.json | 2+-
Mcontent/note/2016/08/quoi-ce-n-est-pas-des-femmes-grenouilles.json | 2+-
Mcontent/note/2016/08/shipping-is-a-feature.json | 2+-
Mcontent/note/2016/08/snowden-pardon-petition-on-facebook.json | 2+-
Mcontent/note/2016/08/ssh-chat-server-written-ingo.json | 2+-
Mcontent/note/2016/08/txti.json | 2+-
Mcontent/note/2016/08/vimgifs-et-emacs_gifs.json | 2+-
Mcontent/note/2016/09/ce-que-le-quebec-gagnerait-a-nationaliser-internet.json | 2+-
Mcontent/note/2016/09/internet-3-0-peut-on-reprendre-le-controle-des-geants.json | 2+-
Mcontent/note/2016/09/ma-vie-obeit-a-l-attraction-des-livres-nikolski-nicolas-dickner.json | 2+-
Mcontent/note/2016/09/radio-canada-publicitaire-pour-apple.json | 2+-
Mcontent/note/2016/09/why-we-use-progressive-enhancement-to-build-gov-uk.json | 2+-
Mcontent/note/2016/10/how-can-i-handle-command-line-arguments-options-to-my-script-easily.json | 2+-
Mcontent/note/2016/10/linux-foundation-takes-javascript-under-its-wings.json | 2+-
Mcontent/note/2016/10/who-pays-for-the-decentralized-web.json | 2+-
Mcontent/note/2016/11/browsers-not-apps-are-the-future-of-mobile.json | 2+-
Mcontent/note/2016/11/indieweb-make-your-social-media-posts-open-first.json | 2+-
Mcontent/note/2016/11/the-average-american-now-downloads-zero-apps-per-month.json | 2+-
Mcontent/note/2016/11/would-the-web-s-inventor-give-up-on-free-standards.json | 2+-
Mcontent/note/2016/12/larnaque-de-la-dictature-bancaire-continue.json | 2+-
Mcontent/note/2016/12/le-peuple-nest-pas-juridiquement-souverain.json | 2+-
Mcontent/note/2016/12/le-travail-aujourdhui-est-en-voie-de-disparition.json | 2+-
Mcontent/note/2016/12/michel-chartrand-aurait-eu-cent-ans-hier.json | 2+-
Mcontent/note/2017/01/3-500-proces-au-cours-des-30-dernieres-annees.json | 2+-
Mcontent/note/2017/01/because-protest-is-an-industry.json | 2+-
Mcontent/note/2017/01/est-ce-une-fausse-nouvelle-car-trop-beau-pour-etre-vrai.json | 2+-
Mcontent/note/2017/01/how-machines-learned-to-speak-human-language.json | 2+-
Mcontent/note/2017/01/la-ville-facteur-majeur-d-evolution-des-especes.json | 2+-
Mcontent/note/2017/01/lemprise-de-wallstreet-sur-trump.json | 2+-
Mcontent/note/2017/03/animista-css-animations-on-demand.json | 2+-
Mcontent/note/2017/03/appnet-is-another-silo-who-is-shutting-down.json | 2+-
Mcontent/note/2017/03/github-and-copyleft.json | 2+-
Mcontent/note/2017/03/moi-jaime-pas-les-courriels-juste-en-html.json | 2+-
Mcontent/note/2017/03/poutine-et-bal-masque.json | 2+-
Mcontent/note/2017/03/presentation-de-manuel-un-task-runner-bash.json | 2+-
Mcontent/note/2017/03/revanche-des-librairies-independantes.json | 2+-
Mcontent/note/2017/03/si-les-etats-unis-envahissaient-le-canada.json | 2+-
Mcontent/note/2017/03/vider-le-filelist-dun-input-type-file.json | 2+-
Mcontent/note/2017/03/vuejs-templates-a-maintenant-son-mode-dans-emacs.json | 2+-
Mcontent/note/2017/03/why-apple-avoid-the-gpl-3.json | 2+-
Mcontent/note/2017/04/duckduckgo-hacks-for-developers.json | 2+-
Mcontent/note/2017/04/fait-le-respirer-un-peu-ton-code.json | 2+-
Mcontent/note/2017/04/updating-all-packages-in-go.json | 2+-
Mcontent/note/2017/05/fai-associatifs-au-canada.json | 2+-
Mcontent/note/2017/05/mg-is-micro-gnu-emacs.json | 2+-
Mcontent/note/2017/05/pandoc-for-openbsd.json | 2+-
Mcontent/note/2017/05/retirer-la-couche-pandoc-de-fakestache-ssg.json | 2+-
Mcontent/note/2017/05/switching-to-openbsd.json | 2+-
Mcontent/note/2017/05/twitter-partage-vos-donnees-personnelles.json | 2+-
Mcontent/note/2017/05/utilisation-des-variables-css.json | 2+-
Mcontent/note/2017/05/why-i-love-openbsd.json | 2+-
Mcontent/note/2017/06/100-millions-de-certificats-pour-lets-encrypt.json | 2+-
Mcontent/note/2017/06/le-velo-cest-dangereux.json | 2+-
Mcontent/note/2017/06/petite-contribution-bash-au-task-runner-manuel.json | 2+-
Mcontent/note/2017/06/politique-numerique-que-jaimerais.json | 2+-
Mcontent/note/2017/06/sesame-street-lgbt-pride.json | 2+-
Mcontent/note/2017/06/using-css-variables-correctly.json | 2+-
Mcontent/note/2017/07/why-the-indie-web-movement-is-so-important.json | 2+-
Mcontent/note/2017/09/bacteries-communiqueraient-avec-des-decharges-electriques.json | 2+-
Mcontent/note/2017/09/barbares-se-substitus-aux-piliers.json | 2+-
Mcontent/note/2017/09/le-poil-de-la-bete.json | 2+-
Mcontent/note/2017/09/lesbricodeurs-jaime-votre-nom.json | 2+-
Mcontent/note/2017/09/lesbricodeurs-replyto-status-909427743573577728.json | 2+-
Mcontent/note/2017/10/ghandi-je-suis-pret-a-mourir-pour-plusieurs-causes-a-tuer-pour-aucune.json | 2+-
Mcontent/note/2017/10/openbsd-6.2-sen-vient-a-la-mi-octobre.json | 2+-
Mcontent/note/2017/10/reply-to-saralfddin93-for-status-914965952898457600.json | 2+-
Mcontent/note/2017/10/setup-a-desktop-environment-under-openbsd-with-xfce.json | 2+-
Mcontent/note/2017/10/test-de-repost-en-posse-3.json | 2+-
Mcontent/note/2017/10/why-we-sleep.json | 2+-
Mcontent/note/2017/11/les-voyants-riront-de-ne-plus-avoir-de-pieds.json | 2+-
Mcontent/note/2017/11/rip-au-capitaine-crochet-de-la-pop-quebecoise.json | 2+-
Mcontent/note/2017/12/betty-davis-is-wonderwoman.json | 2+-
Mcontent/note/2017/12/halt-and-catch-fire-soundtrack.json | 2+-
Mcontent/note/2017/12/mother-s-maiden-name-not-secure.json | 2+-
Mcontent/note/2017/12/normaliser-la-meute.json | 2+-
Mcontent/note/2017/12/openbsd-mise-a-jour-reussie.json | 2+-
Mcontent/note/2017/12/salut-bien-bas-aux-infimieres-et-infirmiers.json | 2+-
Mcontent/note/2018/01/activitypub-is-now-a-w3c-recommendation.json | 2+-
Mcontent/note/2018/01/alec-helps-companies-activate-onion-services.json | 2+-
Mcontent/note/2018/01/an-introduction-to-the-indieweb.json | 2+-
Mcontent/note/2018/01/ceci-n-est-qu-un-test-de-publication-websub.json | 2+-
Mcontent/note/2018/01/nos-courriels-pistes.json | 2+-
Mcontent/note/2018/01/orbots-16th-makes-using-tor-on-android-better.json | 2+-
Mcontent/note/2018/01/premier-pullrequest-lua-accepte.json | 2+-
Mcontent/note/2018/01/reflechissez-avant-de-poster.json | 2+-
Mcontent/note/2018/01/test-vers-mastodon-v2.json | 2+-
Mcontent/note/2018/01/test-vers-mastodon.json | 2+-
Mcontent/note/2018/01/what-emacs-theme-is-that-3.json | 2+-
Mcontent/note/2018/02/ah-zut-va-falloir-que-je-m-assume.json | 2+-
Mcontent/note/2018/02/m4-bakery-make-and-m4-static-website-generator.json | 2+-
Mcontent/note/2018/02/return-of-the-decentralized-web.json | 2+-
Mcontent/note/2018/02/the-radical-idea-of-a-world-without-jobs.json | 2+-
Acontent/note/2018/03/les-pods-diaspora-communiquent.json | 13+++++++++++++
Acontent/note/2018/03/les-pods-diaspora-communiquent.md | 7+++++++
Acontent/note/2018/03/thanks-to-qb1t-about-cabal.json | 12++++++++++++
Acontent/note/2018/03/thanks-to-qb1t-about-cabal.md | 3+++
Mcontent/txt/2014/02/les-partis-politiques-nuisent-ils-a-la-democratie.json | 2+-
Mcontent/txt/2014/04/bronto-politiciens-de-silos.json | 2+-
Mcontent/txt/2014/09/mes-logiciels-libres-preferes.json | 2+-
Acontent/txt/2018/02/un-raccourcisseur-d-url-pour-site-statique.json | 11+++++++++++
Acontent/txt/2018/02/un-raccourcisseur-d-url-pour-site-statique.md | 153+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mcontent/txt/bash/2017/03/manuel-taskrunner.json | 2+-
Mcontent/txt/emacs/2015/06/emacs-101-l-introduction.json | 2+-
Mcontent/txt/emacs/2015/06/emacs-101-la-configuration.json | 2+-
Mcontent/txt/openbsd/2017/11/aide-memoire-openbsd.json | 2+-
Mdata/shortlinks.json | 213++++++++++++++++++++++++++++++++++++++++---------------------------------------
Ddraft/2018/02/un-raccourcisseur-d-url-pour-site-statique.json | 7-------
Ddraft/2018/02/un-raccourcisseur-d-url-pour-site-statique.md | 142------------------------------------------------------------------------------
Mmanuelfile | 4++--
Msite-config.lua | 1-
135 files changed, 433 insertions(+), 381 deletions(-)

diff --git a/content/a-propos.json b/content/a-propos.json @@ -5,5 +5,5 @@ "shortlink":"25", "template":"default", "title":"À propos de ce site Web", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-17T20:40:02" } \ No newline at end of file diff --git a/content/albums-preferes.json b/content/albums-preferes.json @@ -5,5 +5,5 @@ "shortlink":"22", "template":"default", "title":"Mes albums préférés", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/ce-site-web-explique-markdown.json b/content/ce-site-web-explique-markdown.json @@ -5,5 +5,5 @@ "shortlink":"t", "template":"default", "title":"Ce site Web expliqué : Le markdown", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/file/curriculum-vitae.json b/content/file/curriculum-vitae.json @@ -5,5 +5,5 @@ "shortlink":"3n", "template":"curriculum-vitae", "title":"Curriculum vitae de Hugo Soucy, développeur Web frontend", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/file/pgp.json b/content/file/pgp.json @@ -5,5 +5,5 @@ "shortlink":"3m", "template":"default", "title":"Clé publique PGP", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/index.json b/content/index.json @@ -4,5 +4,5 @@ "id":"tag:hugo.soucy.cc,0000-00-00:0000/00/index", "template":"index", "title":"Hugo Soucy, développeur Web frontend qui habite la ville de Québec, et ceci est sa page Web", - "updated":"2018-01-31T10:06:12" + "updated":"2018-01-31T19:45:46" } \ No newline at end of file diff --git a/content/note/2016/01/tiens-un-article-sur-le-darknet-que-plusieurs-devraient-lire.json b/content/note/2016/01/tiens-un-article-sur-le-darknet-que-plusieurs-devraient-lire.json @@ -5,5 +5,5 @@ "shortlink":"3d", "template":"note", "title":"Tiens un article sur le darknet que plusieurs devraient lire", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/02/encryption-is-the-nsas-friend-20160127nsa_loves_it_when_you_use_pgp.json b/content/note/2016/02/encryption-is-the-nsas-friend-20160127nsa_loves_it_when_you_use_pgp.json @@ -5,5 +5,5 @@ "shortlink":"3b", "template":"note", "title":"Encryption is the nsas friend 20160127nsa_loves_it_when_you_use_pgp", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/02/what-is-it-about-society-that-disappoints-you-so-much.json b/content/note/2016/02/what-is-it-about-society-that-disappoints-you-so-much.json @@ -7,5 +7,5 @@ "shortlink":"3c", "template":"note", "title":"What is it about society that disappoints you so much", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/03/javascript-vanille-underscorejs-font-selon-moi-une-excellente-quipe-youmightnotneedjquery-webdev.json b/content/note/2016/03/javascript-vanille-underscorejs-font-selon-moi-une-excellente-quipe-youmightnotneedjquery-webdev.json @@ -5,5 +5,5 @@ "shortlink":"39", "template":"note", "title":"Javascript vanille underscorejs font selon moi une excellente quipe youmightnotneedjquery webdev", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/04/encore-une-fois-je-viens-de-supprimer-mon-compte-facebook.json b/content/note/2016/04/encore-une-fois-je-viens-de-supprimer-mon-compte-facebook.json @@ -5,5 +5,5 @@ "shortlink":"38", "template":"note", "title":"Encore une fois je viens de supprimer mon compte facebook", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/04/tiens-tiens-tiens-le-projet-gnu-revamp-la-page-web.json b/content/note/2016/04/tiens-tiens-tiens-le-projet-gnu-revamp-la-page-web.json @@ -5,5 +5,5 @@ "shortlink":"37", "template":"note", "title":"Tiens tiens tiens le projet gnu revamp la page web", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/05/firefox-print-background-color.json b/content/note/2016/05/firefox-print-background-color.json @@ -5,5 +5,5 @@ "shortlink":"33", "template":"note", "title":"Firefox imprime pas les background-color", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/05/indieweb-in-a-nutshellown-your-identity-domain-website-content-uiux.json b/content/note/2016/05/indieweb-in-a-nutshellown-your-identity-domain-website-content-uiux.json @@ -5,5 +5,5 @@ "shortlink":"36", "template":"note", "title":"Indieweb in a nutshellown your identity domain website content uiux", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/05/jeunes-liberaux-ringards.json b/content/note/2016/05/jeunes-liberaux-ringards.json @@ -5,5 +5,5 @@ "shortlink":"35", "template":"note", "title":"Jeunes liberaux ringards", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/05/justin-jackson-is-a-fucking-webmaster.json b/content/note/2016/05/justin-jackson-is-a-fucking-webmaster.json @@ -7,5 +7,5 @@ "shortlink":"34", "template":"note", "title":"Justin jackson is a fucking webmaster", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/06/nous-sommes-eduques-a-croire.json b/content/note/2016/06/nous-sommes-eduques-a-croire.json @@ -7,5 +7,5 @@ "shortlink":"32", "template":"note", "title":"Nous sommes éduqués a croire", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/07/emacs-sort-delete-matching-duplicate-lines.json b/content/note/2016/07/emacs-sort-delete-matching-duplicate-lines.json @@ -5,5 +5,5 @@ "shortlink":"3", "template":"note", "title":"Emacs classer, effacer les doublons, effacer par patterns", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/08/add-key-bindings-to-moving-faster-between-emacs-windows.json b/content/note/2016/08/add-key-bindings-to-moving-faster-between-emacs-windows.json @@ -5,5 +5,5 @@ "shortlink":"2M", "template":"note", "title":"Add key bindings to moving faster between emacs windows", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/08/everybody-should-be-twitter-verified.json b/content/note/2016/08/everybody-should-be-twitter-verified.json @@ -5,5 +5,5 @@ "shortlink":"2W", "template":"note", "title":"Everybody should be twitter verified", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/08/m4-as-css-pre-processor.json b/content/note/2016/08/m4-as-css-pre-processor.json @@ -5,5 +5,5 @@ "shortlink":"2Z", "template":"note", "title":"M4 as CSS pre-processor", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/08/matane-budget-participatif.json b/content/note/2016/08/matane-budget-participatif.json @@ -5,5 +5,5 @@ "shortlink":"2Y", "template":"note", "title":"Matane budget participatif", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/08/nathalie-normandeau-et-la-radio-de-quebec.json b/content/note/2016/08/nathalie-normandeau-et-la-radio-de-quebec.json @@ -5,5 +5,5 @@ "shortlink":"2S", "template":"note", "title":"Nathalie normandeau et la radio de quebec", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/08/openbsd-pour-tous.json b/content/note/2016/08/openbsd-pour-tous.json @@ -5,5 +5,5 @@ "shortlink":"2N", "template":"note", "title":"Openbsd pour tous", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/08/pokemon-go-et-societe-de-surveillance.json b/content/note/2016/08/pokemon-go-et-societe-de-surveillance.json @@ -7,5 +7,5 @@ "shortlink":"2P", "template":"note", "title":"Pokemon go et societe de surveillance", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/08/programming-languages-hyperpolyglot.json b/content/note/2016/08/programming-languages-hyperpolyglot.json @@ -5,5 +5,5 @@ "shortlink":"2V", "template":"note", "title":"Programming languages hyperpolyglot", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/08/quoi-ce-n-est-pas-des-femmes-grenouilles.json b/content/note/2016/08/quoi-ce-n-est-pas-des-femmes-grenouilles.json @@ -5,5 +5,5 @@ "shortlink":"2L", "template":"note", "title":"Quoi ce n est pas des femmes grenouilles", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/08/shipping-is-a-feature.json b/content/note/2016/08/shipping-is-a-feature.json @@ -7,5 +7,5 @@ "shortlink":"2X", "template":"note", "title":"Shipping is a feature", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/08/snowden-pardon-petition-on-facebook.json b/content/note/2016/08/snowden-pardon-petition-on-facebook.json @@ -5,5 +5,5 @@ "shortlink":"2Q", "template":"note", "title":"Snowden pardon petition on facebook", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/08/ssh-chat-server-written-ingo.json b/content/note/2016/08/ssh-chat-server-written-ingo.json @@ -5,5 +5,5 @@ "shortlink":"2R", "template":"note", "title":"SSH chat server written in Go", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/08/txti.json b/content/note/2016/08/txti.json @@ -5,5 +5,5 @@ "shortlink":"2-", "template":"note", "title":"Txti", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/08/vimgifs-et-emacs_gifs.json b/content/note/2016/08/vimgifs-et-emacs_gifs.json @@ -5,5 +5,5 @@ "shortlink":"2T", "template":"note", "title":"Vimgifs et @emacs_gifs", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/09/ce-que-le-quebec-gagnerait-a-nationaliser-internet.json b/content/note/2016/09/ce-que-le-quebec-gagnerait-a-nationaliser-internet.json @@ -5,5 +5,5 @@ "shortlink":"2J", "template":"note", "title":"Ce que le Québec gagnerait à nationaliser internet", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/09/internet-3-0-peut-on-reprendre-le-controle-des-geants.json b/content/note/2016/09/internet-3-0-peut-on-reprendre-le-controle-des-geants.json @@ -5,5 +5,5 @@ "shortlink":"2H", "template":"note", "title":"Internet 3.0, peut-on reprendre le contrôle des géants?", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/09/ma-vie-obeit-a-l-attraction-des-livres-nikolski-nicolas-dickner.json b/content/note/2016/09/ma-vie-obeit-a-l-attraction-des-livres-nikolski-nicolas-dickner.json @@ -7,5 +7,5 @@ "shortlink":"2F", "template":"note", "title":"Ma vie obéit à l'attraction des livres", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/09/radio-canada-publicitaire-pour-apple.json b/content/note/2016/09/radio-canada-publicitaire-pour-apple.json @@ -5,5 +5,5 @@ "shortlink":"2K", "template":"note", "title":"Radio canada publicitaire pour apple", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/09/why-we-use-progressive-enhancement-to-build-gov-uk.json b/content/note/2016/09/why-we-use-progressive-enhancement-to-build-gov-uk.json @@ -5,5 +5,5 @@ "shortlink":"2G", "template":"note", "title":"Why we use progressive enhancement to build GOV.UK", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/10/how-can-i-handle-command-line-arguments-options-to-my-script-easily.json b/content/note/2016/10/how-can-i-handle-command-line-arguments-options-to-my-script-easily.json @@ -5,5 +5,5 @@ "shortlink":"2B", "template":"note", "title":"How can I handle command-line arguments options to my script easily in bash?", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/10/linux-foundation-takes-javascript-under-its-wings.json b/content/note/2016/10/linux-foundation-takes-javascript-under-its-wings.json @@ -5,5 +5,5 @@ "shortlink":"2C", "template":"note", "title":"Linux Foundation Takes JavaScript Under Its Wings", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/10/who-pays-for-the-decentralized-web.json b/content/note/2016/10/who-pays-for-the-decentralized-web.json @@ -5,5 +5,5 @@ "shortlink":"2D", "template":"note", "title":"Who pays for the decentralized web", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/11/browsers-not-apps-are-the-future-of-mobile.json b/content/note/2016/11/browsers-not-apps-are-the-future-of-mobile.json @@ -5,5 +5,5 @@ "shortlink":"2y", "template":"note", "title":"Browsers, not apps, are the future of mobile", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/11/indieweb-make-your-social-media-posts-open-first.json b/content/note/2016/11/indieweb-make-your-social-media-posts-open-first.json @@ -5,5 +5,5 @@ "shortlink":"2z", "template":"note", "title":"IndieWeb, Make your social media posts open first", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/11/the-average-american-now-downloads-zero-apps-per-month.json b/content/note/2016/11/the-average-american-now-downloads-zero-apps-per-month.json @@ -5,5 +5,5 @@ "shortlink":"2x", "template":"note", "title":"the average American now downloads zero apps per month", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/11/would-the-web-s-inventor-give-up-on-free-standards.json b/content/note/2016/11/would-the-web-s-inventor-give-up-on-free-standards.json @@ -5,5 +5,5 @@ "shortlink":"2w", "template":"note", "title":"Would the Web's inventor give up on free standards?", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/12/larnaque-de-la-dictature-bancaire-continue.json b/content/note/2016/12/larnaque-de-la-dictature-bancaire-continue.json @@ -5,5 +5,5 @@ "shortlink":"2v", "template":"note", "title":"L'arnaque de la dictature bancaire continue", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/12/le-peuple-nest-pas-juridiquement-souverain.json b/content/note/2016/12/le-peuple-nest-pas-juridiquement-souverain.json @@ -7,5 +7,5 @@ "shortlink":"2s", "template":"note", "title":"Le peuple n’est pas juridiquement souverain", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/12/le-travail-aujourdhui-est-en-voie-de-disparition.json b/content/note/2016/12/le-travail-aujourdhui-est-en-voie-de-disparition.json @@ -5,5 +5,5 @@ "shortlink":"2t", "template":"note", "title":"Le travail aujourd'hui est en voie de disparition", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2016/12/michel-chartrand-aurait-eu-cent-ans-hier.json b/content/note/2016/12/michel-chartrand-aurait-eu-cent-ans-hier.json @@ -5,5 +5,5 @@ "shortlink":"2r", "template":"note", "title":"Michel Chartrand aurait eu cent ans hier", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/01/3-500-proces-au-cours-des-30-dernieres-annees.json b/content/note/2017/01/3-500-proces-au-cours-des-30-dernieres-annees.json @@ -5,5 +5,5 @@ "shortlink":"2k", "template":"note", "title":"Trump, 3 500 procès au cours des 30 dernières années", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/01/because-protest-is-an-industry.json b/content/note/2017/01/because-protest-is-an-industry.json @@ -7,5 +7,5 @@ "shortlink":"2n", "template":"note", "title":"Because protest is an industry", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/01/est-ce-une-fausse-nouvelle-car-trop-beau-pour-etre-vrai.json b/content/note/2017/01/est-ce-une-fausse-nouvelle-car-trop-beau-pour-etre-vrai.json @@ -5,5 +5,5 @@ "shortlink":"2m", "template":"note", "title":"Est-ce une fausse nouvelle, car trop beau pour être vrai", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/01/how-machines-learned-to-speak-human-language.json b/content/note/2017/01/how-machines-learned-to-speak-human-language.json @@ -5,5 +5,5 @@ "shortlink":"2j", "template":"note", "title":"How machines learned to speak human language", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/01/la-ville-facteur-majeur-d-evolution-des-especes.json b/content/note/2017/01/la-ville-facteur-majeur-d-evolution-des-especes.json @@ -5,5 +5,5 @@ "shortlink":"2q", "template":"note", "title":"La ville, facteur majeur d'évolution des espèces", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/01/lemprise-de-wallstreet-sur-trump.json b/content/note/2017/01/lemprise-de-wallstreet-sur-trump.json @@ -5,5 +5,5 @@ "shortlink":"2p", "template":"note", "title":"L'emprise de WallStreet sur Trump", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/03/animista-css-animations-on-demand.json b/content/note/2017/03/animista-css-animations-on-demand.json @@ -5,5 +5,5 @@ "shortlink":"23", "template":"note", "title":"Animista is CSS animations on demand", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/03/appnet-is-another-silo-who-is-shutting-down.json b/content/note/2017/03/appnet-is-another-silo-who-is-shutting-down.json @@ -5,5 +5,5 @@ "shortlink":"27", "template":"note", "title":"App.net is another silo who is shutting down", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/03/github-and-copyleft.json b/content/note/2017/03/github-and-copyleft.json @@ -7,5 +7,5 @@ "shortlink":"26", "template":"note", "title":"GitHub and copyleft", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/03/moi-jaime-pas-les-courriels-juste-en-html.json b/content/note/2017/03/moi-jaime-pas-les-courriels-juste-en-html.json @@ -5,5 +5,5 @@ "shortlink":"24", "template":"note", "title":"Moi j'aime pas les courriels juste en HTML!", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/03/poutine-et-bal-masque.json b/content/note/2017/03/poutine-et-bal-masque.json @@ -5,5 +5,5 @@ "shortlink":"2g", "template":"note", "title":"Poutine et bal masqué", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/03/presentation-de-manuel-un-task-runner-bash.json b/content/note/2017/03/presentation-de-manuel-un-task-runner-bash.json @@ -5,5 +5,5 @@ "shortlink":"2b", "template":"note", "title":"Présentation de Manuel un task runner bash", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/03/revanche-des-librairies-independantes.json b/content/note/2017/03/revanche-des-librairies-independantes.json @@ -5,5 +5,5 @@ "shortlink":"2h", "template":"note", "title":"Revanche des librairies indépendantes", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/03/si-les-etats-unis-envahissaient-le-canada.json b/content/note/2017/03/si-les-etats-unis-envahissaient-le-canada.json @@ -5,5 +5,5 @@ "shortlink":"2f", "template":"note", "title":"Que se passerait-il si les États-Unis envahissaient le Canada?", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/03/vider-le-filelist-dun-input-type-file.json b/content/note/2017/03/vider-le-filelist-dun-input-type-file.json @@ -5,5 +5,5 @@ "shortlink":"28", "template":"note", "title":"Vider le FileList d'un input[type='file']", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/03/vuejs-templates-a-maintenant-son-mode-dans-emacs.json b/content/note/2017/03/vuejs-templates-a-maintenant-son-mode-dans-emacs.json @@ -5,5 +5,5 @@ "shortlink":"2d", "template":"note", "title":"Vue.js templates a maintenant son mode dans Emacs", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/03/why-apple-avoid-the-gpl-3.json b/content/note/2017/03/why-apple-avoid-the-gpl-3.json @@ -5,5 +5,5 @@ "shortlink":"29", "template":"note", "title":"Why Apple avoid the GPL 3?", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/04/duckduckgo-hacks-for-developers.json b/content/note/2017/04/duckduckgo-hacks-for-developers.json @@ -5,5 +5,5 @@ "shortlink":"Z", "template":"note", "title":"DuckDuckGo hacks for developers", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/04/fait-le-respirer-un-peu-ton-code.json b/content/note/2017/04/fait-le-respirer-un-peu-ton-code.json @@ -5,5 +5,5 @@ "shortlink":"2", "template":"note", "title":"Fait le respirer ton code", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/04/updating-all-packages-in-go.json b/content/note/2017/04/updating-all-packages-in-go.json @@ -5,5 +5,5 @@ "shortlink":"-", "template":"note", "title":"Updating all packages in Go", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/05/fai-associatifs-au-canada.json b/content/note/2017/05/fai-associatifs-au-canada.json @@ -5,5 +5,5 @@ "shortlink":"W", "template":"note", "title":"Ça existe des FAI associatifs au Canada", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/05/mg-is-micro-gnu-emacs.json b/content/note/2017/05/mg-is-micro-gnu-emacs.json @@ -5,5 +5,5 @@ "shortlink":"V", "template":"note", "title":"mg is Micro GNU/emacs", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/05/pandoc-for-openbsd.json b/content/note/2017/05/pandoc-for-openbsd.json @@ -5,5 +5,5 @@ "shortlink":"T", "template":"note", "title":"Pandoc for OpenBSD", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/05/retirer-la-couche-pandoc-de-fakestache-ssg.json b/content/note/2017/05/retirer-la-couche-pandoc-de-fakestache-ssg.json @@ -7,5 +7,5 @@ "shortlink":"S", "template":"note", "title":"Retirer la couche Pandoc de FakeStache SSG", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/05/switching-to-openbsd.json b/content/note/2017/05/switching-to-openbsd.json @@ -5,5 +5,5 @@ "shortlink":"Y", "template":"note", "title":"Switching to OpenBSD", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/05/twitter-partage-vos-donnees-personnelles.json b/content/note/2017/05/twitter-partage-vos-donnees-personnelles.json @@ -7,5 +7,5 @@ "shortlink":"Q", "template":"note", "title":"Twitter partage vos données personnelles", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/05/utilisation-des-variables-css.json b/content/note/2017/05/utilisation-des-variables-css.json @@ -7,5 +7,5 @@ "shortlink":"R", "template":"note", "title":"Curieux de l'utilisation des variables CSS", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/05/why-i-love-openbsd.json b/content/note/2017/05/why-i-love-openbsd.json @@ -5,5 +5,5 @@ "shortlink":"X", "template":"note", "title":"Why I love OpenBSD", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/06/100-millions-de-certificats-pour-lets-encrypt.json b/content/note/2017/06/100-millions-de-certificats-pour-lets-encrypt.json @@ -7,5 +7,5 @@ "shortlink":"J", "template":"note", "title":"100 millions de certificats pour Let's Encrypt", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/06/le-velo-cest-dangereux.json b/content/note/2017/06/le-velo-cest-dangereux.json @@ -7,5 +7,5 @@ "shortlink":"P", "template":"note", "title":"Le vélo c'est dangereux", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/06/petite-contribution-bash-au-task-runner-manuel.json b/content/note/2017/06/petite-contribution-bash-au-task-runner-manuel.json @@ -6,5 +6,5 @@ "shortlink":"M", "template":"note", "title":"Petite contribution bash au task runner Manuel", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/06/politique-numerique-que-jaimerais.json b/content/note/2017/06/politique-numerique-que-jaimerais.json @@ -7,5 +7,5 @@ "shortlink":"N", "template":"note", "title":"politique numérique que j'aimerais", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/06/sesame-street-lgbt-pride.json b/content/note/2017/06/sesame-street-lgbt-pride.json @@ -6,5 +6,5 @@ "shortlink":"L", "template":"note", "title":"Sesame Street LGBT Pride", - "updated":"2018-01-16T13:44:54" + "updated":"2018-01-16T20:04:05" } \ No newline at end of file diff --git a/content/note/2017/06/using-css-variables-correctly.json b/content/note/2017/06/using-css-variables-correctly.json @@ -7,5 +7,5 @@ "shortlink":"K", "template":"note", "title":"Using CSS variables correctly", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/07/why-the-indie-web-movement-is-so-important.json b/content/note/2017/07/why-the-indie-web-movement-is-so-important.json @@ -7,5 +7,5 @@ "shortlink":"H", "template":"note", "title":"Why the Indie Web movement is so important", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/09/bacteries-communiqueraient-avec-des-decharges-electriques.json b/content/note/2017/09/bacteries-communiqueraient-avec-des-decharges-electriques.json @@ -7,5 +7,5 @@ "shortlink":"G", "template":"note", "title":"Bactéries communiqueraient avec des décharges électriques", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/09/barbares-se-substitus-aux-piliers.json b/content/note/2017/09/barbares-se-substitus-aux-piliers.json @@ -7,5 +7,5 @@ "shortlink":"F", "template":"note", "title":"Barbares se substitus aux piliers", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/09/le-poil-de-la-bete.json b/content/note/2017/09/le-poil-de-la-bete.json @@ -7,5 +7,5 @@ "shortlink":"B", "template":"note", "title":"Le poil de la bête", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/09/lesbricodeurs-jaime-votre-nom.json b/content/note/2017/09/lesbricodeurs-jaime-votre-nom.json @@ -6,5 +6,5 @@ "shortlink":"D", "template":"note", "title":"@LesBricodeurs J'aime votre nom", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/09/lesbricodeurs-replyto-status-909427743573577728.json b/content/note/2017/09/lesbricodeurs-replyto-status-909427743573577728.json @@ -7,6 +7,6 @@ "shortlink":"C", "template":"note", "title":"@LesBricodeurs replyto status 909427743573577728", - "updated":"2017-11-20T08:32:02", + "updated":"2017-11-03T10:21:44", "replyto":"https://twitter.com/LesBricodeurs/status/909427743573577728" } \ No newline at end of file diff --git a/content/note/2017/10/ghandi-je-suis-pret-a-mourir-pour-plusieurs-causes-a-tuer-pour-aucune.json b/content/note/2017/10/ghandi-je-suis-pret-a-mourir-pour-plusieurs-causes-a-tuer-pour-aucune.json @@ -7,5 +7,5 @@ "shortlink":"y", "template":"note", "title":"Ghandi: je suis prêt à mourir pour plusieurs causes; à tuer pour aucune", - "updated":"2018-01-16T13:44:54" + "updated":"2018-01-16T20:04:05" } \ No newline at end of file diff --git a/content/note/2017/10/openbsd-6.2-sen-vient-a-la-mi-octobre.json b/content/note/2017/10/openbsd-6.2-sen-vient-a-la-mi-octobre.json @@ -7,5 +7,5 @@ "shortlink":"x", "template":"note", "title":"OpenBSD 6.2 s'en vient à la mi-octobre", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/10/reply-to-saralfddin93-for-status-914965952898457600.json b/content/note/2017/10/reply-to-saralfddin93-for-status-914965952898457600.json @@ -7,6 +7,6 @@ "shortlink":"w", "template":"note", "title":"Reply to @saralfddin93 for status 914965952898457600", - "updated":"2017-11-20T08:32:02", + "updated":"2017-11-03T10:21:44", "replyto":"https://twitter.com/saralfddin93/status/914965952898457600" } \ No newline at end of file diff --git a/content/note/2017/10/setup-a-desktop-environment-under-openbsd-with-xfce.json b/content/note/2017/10/setup-a-desktop-environment-under-openbsd-with-xfce.json @@ -7,5 +7,5 @@ "shortlink":"s", "template":"note", "title":"Setup a desktop environment under OpenBSD with XFCE", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/10/test-de-repost-en-posse-3.json b/content/note/2017/10/test-de-repost-en-posse-3.json @@ -7,5 +7,5 @@ "shortlink":"v", "template":"note", "title":"Test de repost en POSSE", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/note/2017/10/why-we-sleep.json b/content/note/2017/10/why-we-sleep.json @@ -7,5 +7,5 @@ "shortlink":"z", "template":"note", "title":"Why we sleep?", - "updated":"2018-01-16T13:44:54" + "updated":"2018-01-16T20:04:05" } \ No newline at end of file diff --git a/content/note/2017/11/les-voyants-riront-de-ne-plus-avoir-de-pieds.json b/content/note/2017/11/les-voyants-riront-de-ne-plus-avoir-de-pieds.json @@ -6,5 +6,5 @@ "shortlink":"p", "template":"note", "title":"les voyants riront de ne plus avoir de pieds", - "updated":"2018-01-16T13:44:54" + "updated":"2018-01-16T20:04:05" } \ No newline at end of file diff --git a/content/note/2017/11/rip-au-capitaine-crochet-de-la-pop-quebecoise.json b/content/note/2017/11/rip-au-capitaine-crochet-de-la-pop-quebecoise.json @@ -8,5 +8,5 @@ "shortlink":"q", "template":"note", "title":"RIP au capitaine crochet de la pop québécoise", - "updated":"2017-11-28T08:58:16" + "updated":"2017-11-27T19:45:29" } \ No newline at end of file diff --git a/content/note/2017/12/betty-davis-is-wonderwoman.json b/content/note/2017/12/betty-davis-is-wonderwoman.json @@ -7,5 +7,5 @@ "shortlink":"m", "template":"note", "title":"Betty Davis is Wonderwoman", - "updated":"2018-01-08T10:36:20" + "updated":"2017-12-29T11:02:42" } \ No newline at end of file diff --git a/content/note/2017/12/halt-and-catch-fire-soundtrack.json b/content/note/2017/12/halt-and-catch-fire-soundtrack.json @@ -7,5 +7,5 @@ "shortlink":"h", "template":"note", "title":"Halt and Catch Fire soundtrack", - "updated":"2018-01-08T10:36:20" + "updated":"2017-12-29T13:32:25" } \ No newline at end of file diff --git a/content/note/2017/12/mother-s-maiden-name-not-secure.json b/content/note/2017/12/mother-s-maiden-name-not-secure.json @@ -7,5 +7,5 @@ "shortlink":"g", "template":"note", "title":"Mother's maiden name not secure", - "updated":"2018-01-08T10:36:20" + "updated":"2017-12-31T10:46:42" } \ No newline at end of file diff --git a/content/note/2017/12/normaliser-la-meute.json b/content/note/2017/12/normaliser-la-meute.json @@ -6,6 +6,6 @@ "shortlink":"k", "template":"note", "title":"Normaliser la meute", - "updated":"2018-01-08T10:36:20", + "updated":"2017-12-29T11:15:31", "replyto":"https://twitter.com/petitsmorceaux/status/946588349250318336" } \ No newline at end of file diff --git a/content/note/2017/12/openbsd-mise-a-jour-reussie.json b/content/note/2017/12/openbsd-mise-a-jour-reussie.json @@ -7,5 +7,5 @@ "shortlink":"n", "template":"note", "title":"OpenBSD mise à jour réussie", - "updated":"2018-01-08T10:36:20" + "updated":"2017-12-29T10:45:17" } \ No newline at end of file diff --git a/content/note/2017/12/salut-bien-bas-aux-infimieres-et-infirmiers.json b/content/note/2017/12/salut-bien-bas-aux-infimieres-et-infirmiers.json @@ -6,5 +6,5 @@ "shortlink":"j", "template":"note", "title":"Salut bien bas aux infimières et infirmiers", - "updated":"2018-01-08T10:36:20" + "updated":"2017-12-29T12:51:02" } \ No newline at end of file diff --git a/content/note/2018/01/activitypub-is-now-a-w3c-recommendation.json b/content/note/2018/01/activitypub-is-now-a-w3c-recommendation.json @@ -7,5 +7,5 @@ "shortlink":"5", "template":"note", "title":"ActivityPub is now a W3C Recommendation", - "updated":"2018-01-23T09:34:33" + "updated":"2018-01-26T19:41:45" } \ No newline at end of file diff --git a/content/note/2018/01/alec-helps-companies-activate-onion-services.json b/content/note/2018/01/alec-helps-companies-activate-onion-services.json @@ -9,5 +9,5 @@ "shortlink":"7", "template":"note", "title":"Alec Helps Companies Activate Onion Services", - "updated":"2018-01-18T13:09:04" + "updated":"2018-01-18T17:51:50" } \ No newline at end of file diff --git a/content/note/2018/01/an-introduction-to-the-indieweb.json b/content/note/2018/01/an-introduction-to-the-indieweb.json @@ -7,5 +7,5 @@ "shortlink":"c", "template":"note", "title":"An Introduction to the IndieWeb", - "updated":"2018-01-16T13:41:53" + "updated":"2018-01-15T18:25:53" } \ No newline at end of file diff --git a/content/note/2018/01/ceci-n-est-qu-un-test-de-publication-websub.json b/content/note/2018/01/ceci-n-est-qu-un-test-de-publication-websub.json @@ -6,5 +6,5 @@ "shortlink":"8", "template":"note", "title":"Ceci n'est qu'un test de publication WebSub", - "updated":"2018-01-18T11:33:09" + "updated":"2018-01-18T17:51:50" } \ No newline at end of file diff --git a/content/note/2018/01/nos-courriels-pistes.json b/content/note/2018/01/nos-courriels-pistes.json @@ -9,5 +9,5 @@ "shortlink":"d", "template":"note", "title":"Nos courriels pistés", - "updated":"2018-01-15T15:10:33" + "updated":"2018-01-08T20:26:45" } \ No newline at end of file diff --git a/content/note/2018/01/orbots-16th-makes-using-tor-on-android-better.json b/content/note/2018/01/orbots-16th-makes-using-tor-on-android-better.json @@ -7,5 +7,5 @@ "shortlink":"f", "template":"note", "title":"Orbot's 16th makes using Tor on Android better", - "updated":"2018-01-16T13:44:54" + "updated":"2018-01-16T20:04:05" } \ No newline at end of file diff --git a/content/note/2018/01/premier-pullrequest-lua-accepte.json b/content/note/2018/01/premier-pullrequest-lua-accepte.json @@ -8,5 +8,5 @@ "shortlink":"4", "template":"note", "title":"Premier pull request lua accepté", - "updated":"2018-01-24T10:10:06" + "updated":"2018-01-26T19:41:45" } \ No newline at end of file diff --git a/content/note/2018/01/reflechissez-avant-de-poster.json b/content/note/2018/01/reflechissez-avant-de-poster.json @@ -7,5 +7,5 @@ "shortlink":"3", "template":"note", "title":"Réfléchissez avant de poster", - "updated":"2018-01-26T13:47:24" + "updated":"2018-01-31T03:46:50" } \ No newline at end of file diff --git a/content/note/2018/01/test-vers-mastodon-v2.json b/content/note/2018/01/test-vers-mastodon-v2.json @@ -6,5 +6,5 @@ "shortlink":"9", "template":"note", "title":"Test vers Mastodon prise II", - "updated":"2018-01-17T10:03:54" + "updated":"2018-01-16T20:25:28" } \ No newline at end of file diff --git a/content/note/2018/01/test-vers-mastodon.json b/content/note/2018/01/test-vers-mastodon.json @@ -6,5 +6,5 @@ "shortlink":"b", "template":"note", "title":"Test vers Mastodon", - "updated":"2018-01-16T15:08:31" + "updated":"2018-01-16T20:04:05" } \ No newline at end of file diff --git a/content/note/2018/01/what-emacs-theme-is-that-3.json b/content/note/2018/01/what-emacs-theme-is-that-3.json @@ -7,6 +7,6 @@ "shortlink":"6", "template":"note", "title":"What Emacs theme is that", - "updated":"2018-01-19T14:29:33", + "updated":"2018-01-20T12:17:29", "replyto":"https://twitter.com/kandelvijaya/status/952683590420172801" } \ No newline at end of file diff --git a/content/note/2018/02/ah-zut-va-falloir-que-je-m-assume.json b/content/note/2018/02/ah-zut-va-falloir-que-je-m-assume.json @@ -6,6 +6,6 @@ "shortlink":"3s", "template":"note", "title":"Ah zut! va falloir que je m'assume", - "updated":"2018-02-07T15:58:08", + "updated":"2018-02-09T16:15:46", "replyto":"https://twitter.com/leontalbot/status/961263223830974466" } \ No newline at end of file diff --git a/content/note/2018/02/m4-bakery-make-and-m4-static-website-generator.json b/content/note/2018/02/m4-bakery-make-and-m4-static-website-generator.json @@ -7,5 +7,5 @@ "shortlink":"3r", "template":"note", "title":"M4-Bakery: Make and M4 Static Website Generator", - "updated":"2018-02-07T09:56:33" + "updated":"2018-02-09T16:15:46" } \ No newline at end of file diff --git a/content/note/2018/02/return-of-the-decentralized-web.json b/content/note/2018/02/return-of-the-decentralized-web.json @@ -7,5 +7,5 @@ "shortlink":"3t", "template":"note", "title":"Return of the Decentralized Web", - "updated":"2018-02-08T13:10:05" + "updated":"2018-02-09T16:15:46" } \ No newline at end of file diff --git a/content/note/2018/02/the-radical-idea-of-a-world-without-jobs.json b/content/note/2018/02/the-radical-idea-of-a-world-without-jobs.json @@ -9,5 +9,5 @@ "shortlink":"2", "template":"note", "title":"The radical idea of a world without jobs", - "updated":"2018-02-05T10:48:59" + "updated":"2018-02-05T20:00:28" } \ No newline at end of file diff --git a/content/note/2018/03/les-pods-diaspora-communiquent.json b/content/note/2018/03/les-pods-diaspora-communiquent.json @@ -0,0 +1,12 @@ +{ + "bridgy":"true", + "date":"2018-03-29", + "datetime":"20:42:45", + "id":"tag:hugo.soucy.cc,2018-03-29:2018/03/les-pods-diaspora-communiquent", + "keywords":["diaspora","la sphère","twitter"], + "shortlink":"3x", + "template":"note", + "title":"Les pods Diaspora* communiquent", + "updated":"2018-03-29T20:45:43", + "replyto":"https://twitter.com/MatthieuDugal/status/977575990883962880" +}+ \ No newline at end of file diff --git a/content/note/2018/03/les-pods-diaspora-communiquent.md b/content/note/2018/03/les-pods-diaspora-communiquent.md @@ -0,0 +1,7 @@ + +Dire que les «pods» Diaspora* ne communiquent pas entre eux, est +faux. Malheureusement, on dirait que le chroniqueur n'a pas vraiment +testé les outils dont il parle. ~ +<https://diasporafoundation.org/about>. + +![About Diaspora*](about-diaspora.png) diff --git a/content/note/2018/03/thanks-to-qb1t-about-cabal.json b/content/note/2018/03/thanks-to-qb1t-about-cabal.json @@ -0,0 +1,11 @@ +{ + "bridgy":"true", + "date":"2018-03-16", + "datetime":"09:46:40", + "id":"tag:hugo.soucy.cc,2018-03-16:2018/03/thanks-to-qb1t-about-cabal", + "keywords":["pandoc","cabal","openbsd"], + "shortlink":"3v", + "template":"note", + "title":"Thanks to @qb1t about cabal", + "updated":"2018-03-16T21:30:56" +}+ \ No newline at end of file diff --git a/content/note/2018/03/thanks-to-qb1t-about-cabal.md b/content/note/2018/03/thanks-to-qb1t-about-cabal.md @@ -0,0 +1,3 @@ +Thanks [@qb1t](https://deftly.net/) for the "[Using cabal on +OpenBSD](https://deftly.net/posts/2017-10-12-using-cabal-on-openbsd.html)" +article. It helped me a lot! diff --git a/content/txt/2014/02/les-partis-politiques-nuisent-ils-a-la-democratie.json b/content/txt/2014/02/les-partis-politiques-nuisent-ils-a-la-democratie.json @@ -5,5 +5,5 @@ "shortlink":"3k", "template":"default", "title":"Les partis politiques nuisent-ils à la democratie?", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/txt/2014/04/bronto-politiciens-de-silos.json b/content/txt/2014/04/bronto-politiciens-de-silos.json @@ -5,5 +5,5 @@ "shortlink":"3j", "template":"default", "title":"Bronto politiciens de silos", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/txt/2014/09/mes-logiciels-libres-preferes.json b/content/txt/2014/09/mes-logiciels-libres-preferes.json @@ -5,5 +5,5 @@ "shortlink":"3h", "template":"default", "title":"Mes logiciels libres préférés", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/txt/2018/02/un-raccourcisseur-d-url-pour-site-statique.json b/content/txt/2018/02/un-raccourcisseur-d-url-pour-site-statique.json @@ -0,0 +1,10 @@ +{ + "date":"2018-02-28", + "datetime":"11:03:46", + "id":"tag:hugo.soucy.cc,2018-02-28:2018/02/un-raccourcisseur-d-url-pour-site-statique", + "keywords":["rewritemap","url","apache"], + "shortlink":"3w", + "template":"default", + "title":"Un raccourcisseur d'URL maison avec RewriteMap", + "updated":"2018-03-18T10:28:56" +}+ \ No newline at end of file diff --git a/content/txt/2018/02/un-raccourcisseur-d-url-pour-site-statique.md b/content/txt/2018/02/un-raccourcisseur-d-url-pour-site-statique.md @@ -0,0 +1,153 @@ + +Proposer des URLs courts sur son site statique +============================================== + +Pour un raccourcisseur d'URL maison vous avez besoin d'à peu près 3 +choses: + +1. Une liste de vos liens qui pourra être traversée par une + boucle. Notez que l'ordre de cette liste doit être immuable; ceux + ajoutés a posteriori le seront à la suite des autres. +2. Une fonction qui convertie les nombres naturels (positif et sans + décimal) en chaîne de caractère. +3. Un accès au fichier de configuration de votre serveur HTTP; car + malheuresement la solution que je propose ne peut pas être + accomplie à travers un fichier de type `.htaccess`. *Accès* peut + vouloir dire par vous ou par l'administrateur de votre serveur, si + celui-ci est ouvert à vous aider. + +Traverser la liste de vos liens +------------------------------- + +Il faut que l'emsemble des URLs que vous voulez raccourcir soient +disponibles sous la forme d'un *array*. Comme je l'écrivais plus haut, +dans ce *array*, l'ordre doit être immuable, puisque que ce sera le +nombre qui, correspond à la position de chaque entrée qui servira à +créer la chaîne de caractère courte. + +Pour ma part, je stock mes URLs dans un fichier JSON qui, contient un +objet dont les clés sont les URLs longs et les valeurs sont les +chaînes raccourcies. + +Ce JSON est créé lorsque je lance le générateur de site statique pour +la première fois. Ensuite, je vérifie son existence et une nouvelle +entrée est faite si la clée n'est pas déjà présente dans le JSON en +question. + +Moi j'ai choisi JSON, mais évidemment, cela pourrait être fait avec un +autre format de donnée, comme par exemple SQLite. Sinon, voilà à quoi +ressemble ma fonction en lua : + + + function link.makeshorts() + local links = {} + local links_db = Ferron.site.path .. Ferron.site.siteconfig.paths.data .. "/shortlinks.json" + + -- If `links_db` dosen't exists create it + if path.isfile(links_db) == false then + local counter = 0 + + fileutils.pushfilecontent(links_db, "") + + for k, v in tableutils.sortdescendingpairs(Ferron.site.pagestable) do + if v.rellink ~= "" then + counter = counter + 1 + + links[v.rellink] = fileutils.shorturlencode(counter) + end + end + else + links = json.decode(fileutils.pullfilecontent(links_db)) + + for k, v in tableutils.sortdescendingpairs(Ferron.site.pagestable) do + if v.rellink ~= "" and links[v.rellink] == nil then + links[v.rellink] = fileutils.shorturlencode(tableutils.length(links) + 1) + end + end + end + + return fileutils.pushfilecontent(links_db, json.encode(links, {indent = true})) + end + +Convertir les nombres en chaîne de caractère +-------------------------------------------- + +Dans le bloc de code qui précède, c'est la fonction +`fileutils.shorturlencode()` qui transforme l'identifiant numérique de +la position de chaque entrée, en courte chaîne de caractère. C'est ce +que l'on appelle +[une application bijective](https://fr.wikipedia.org/wiki/Bijection). +J'ai créé une version en lua pour mon générateur de site statique, en +me basant sur la version JavaScript que l'on retrouve sur GitHub dans +le répertoire +[ShortURL](https://github.com/delight-im/ShortURL). D'ailleurs, j'ai +ajouté ma contribution à la douzaine de langage déjà présent. + + +Appliquer les redirection avec `RewriteMap` +------------------------------------------- + +Une fois que les adresses de vos pages sont associées à des URLs +courts, il faut les exporter dans un fichier text qui sera utilisé par +la directive +[`RewitreMap`](http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#RewriteMap). + +Voici à quoi cela doit ressembler : + + + ## shortlinksmap.txt -- rewriting map + + L /note/2017/06/sesame-street-lgbt-pride.html + Q /note/2017/05/twitter-partage-vos-donnees-personnelles.html + 23 /note/2017/03/animista-css-animations-on-demand.html + 2L /note/2016/08/quoi-ce-n-est-pas-des-femmes-grenouilles.html + M /note/2017/06/petite-contribution-bash-au-task-runner-manuel.html + n /note/2017/12/openbsd-mise-a-jour-reussie.html + 4 /note/2018/01/premier-pullrequest-lua-accepte.html + C /note/2017/09/lesbricodeurs-replyto-status-909427743573577728.html + 2Q /note/2016/08/snowden-pardon-petition-on-facebook.html + P /note/2017/06/le-velo-cest-dangereux.html + 2H /note/2016/09/internet-3-0-peut-on-reprendre-le-controle-des-geants.html + +Puis dans votre fichier de configuration de votre site ajouter les +directives suivantes. Selon votre version d'Apache il peut y avoir +quelques variantes; SVP référez-vous à [la +documentation](https://searx.me/?q=RewriteMap&categories=general&language=en-CA) +pour plus de détails. + + ## /etc/apache2/sites-available/hugo.soucy.cc.conf + + RewriteEngine On + RewriteMap shortlinksmap "txt:/var/www/hugo.soucy.cc/shortlinksmap.txt" + RewriteCond ${shortlinksmap:$1|Unknown} !Unknown + RewriteRule "^/(.*)$" "${shortlinksmap:$1}" [R,L] + +Je suppose qu'il existe le même genre de mécanisme pour Nginx ou +Lighttpd. + +--- + +À propos des enjeux autour des URLs courts +------------------------------------------ + +Les URLs courts sont souvent visibles sur les réseaux sociaux, tel que +Twitter, pour faciliter le partage de lien dans un contexte où le +message de l'auteur est limité en caractère; historiquement 140 et +maintenant 280 pour les *tweets*. Le service le plus connu est sans +doute **bit.ly**. Sinon on voit également beaucoup celui de +l'omniprésent Google, dont le nom de domaine est **goo.gl**. + +L'utilisation d'un service de raccourcissement fragilise la périnnité +des URLs dans nos contenus; puisque si le service en question cesse +ses activités du jour au lendemain, tous les liens qu'il redirigait se +retrouvent dès lors inutilisables. De plus, que se passerait-il si un +service était pirater ou racheter par quelqu'un avec de mauvaises +intentions qui, pourrait réaiguiller tous les URLs vers des +destinations peu reluisantes ?! + +Dans une optique de durabilité et de robustesse il vaut toujours mieux +gérer soi-même ses données. Si vous utilisez un CMS comme **Drupal** +ou **Wordpress** vous avez sans doute accès à des extensions qui vous +permettent de mettre en place votre propre raccourcisseur. Et c'est +probablement le cas également de générateurs de site statique bien +établis comme **Jekyll** ou **Octopress**. diff --git a/content/txt/bash/2017/03/manuel-taskrunner.json b/content/txt/bash/2017/03/manuel-taskrunner.json @@ -6,5 +6,5 @@ "shortlink":"2c", "template":"default", "title":"Manuel un task runner en bash", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/txt/emacs/2015/06/emacs-101-l-introduction.json b/content/txt/emacs/2015/06/emacs-101-l-introduction.json @@ -5,5 +5,5 @@ "shortlink":"3g", "template":"default", "title":"Emacs 101 - l'introduction", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/txt/emacs/2015/06/emacs-101-la-configuration.json b/content/txt/emacs/2015/06/emacs-101-la-configuration.json @@ -5,5 +5,5 @@ "shortlink":"3f", "template":"default", "title":"Emacs 101 - la configuration", - "updated":"2017-11-20T08:32:02" + "updated":"2017-11-03T10:21:44" } \ No newline at end of file diff --git a/content/txt/openbsd/2017/11/aide-memoire-openbsd.json b/content/txt/openbsd/2017/11/aide-memoire-openbsd.json @@ -8,5 +8,5 @@ "shortlink":"r", "template":"default", "title":"Aide-mémoire OpenBSD", - "updated":"2017-11-28T08:58:16" + "updated":"2018-03-29T20:03:17" } \ No newline at end of file diff --git a/data/shortlinks.json b/data/shortlinks.json @@ -1,127 +1,130 @@ { - "/note/2016/08/shipping-is-a-feature.html":"2X", - "/note/2017/03/github-and-copyleft.html":"26", - "/note/2017/04/updating-all-packages-in-go.html":"-", - "/note/2017/01/how-machines-learned-to-speak-human-language.html":"2j", - "/note/2018/01/orbots-16th-makes-using-tor-on-android-better.html":"f", - "/note/2017/12/mother-s-maiden-name-not-secure.html":"g", - "/note/2016/08/quoi-ce-n-est-pas-des-femmes-grenouilles.html":"2L", - "/note/2016/11/indieweb-make-your-social-media-posts-open-first.html":"2z", - "/note/2017/09/le-poil-de-la-bete.html":"B", - "/note/2017/03/appnet-is-another-silo-who-is-shutting-down.html":"27", - "/note/2016/08/txti.html":"2-", - "/note/2016/05/indieweb-in-a-nutshellown-your-identity-domain-website-content-uiux.html":"36", - "/note/2017/03/moi-jaime-pas-les-courriels-juste-en-html.html":"24", - "/note/2017/09/lesbricodeurs-replyto-status-909427743573577728.html":"C", - "/txt/emacs/2015/06/emacs-101-la-configuration.html":"3f", - "/note/2016/08/everybody-should-be-twitter-verified.html":"2W", + "/txt/openbsd/2017/11/aide-memoire-openbsd.html":"r", + "/note/2016/05/firefox-print-background-color.html":"33", + "/note/2017/05/fai-associatifs-au-canada.html":"W", + "/note/2017/03/si-les-etats-unis-envahissaient-le-canada.html":"2f", + "/a-propos.html":"25", + "/note/2016/03/javascript-vanille-underscorejs-font-selon-moi-une-excellente-quipe-youmightnotneedjquery-webdev.html":"39", "/note/2018/02/m4-bakery-make-and-m4-static-website-generator.html":"3r", + "/note/2017/12/betty-davis-is-wonderwoman.html":"m", + "/note/2017/10/setup-a-desktop-environment-under-openbsd-with-xfce.html":"s", + "/note/2016/09/ma-vie-obeit-a-l-attraction-des-livres-nikolski-nicolas-dickner.html":"2F", + "/note/2017/05/mg-is-micro-gnu-emacs.html":"V", + "/note/2016/08/add-key-bindings-to-moving-faster-between-emacs-windows.html":"2M", + "/note/2018/02/return-of-the-decentralized-web.html":"3t", + "/note/2017/10/openbsd-6.2-sen-vient-a-la-mi-octobre.html":"x", + "/note/2016/11/the-average-american-now-downloads-zero-apps-per-month.html":"2x", "/note/2017/10/test-de-repost-en-posse-3.html":"v", - "/note/2017/04/fait-le-respirer-un-peu-ton-code.html":"2", - "/note/2017/11/rip-au-capitaine-crochet-de-la-pop-quebecoise.html":"q", - "/txt/openbsd/2017/11/aide-memoire-openbsd.html":"r", - "/note/2018/01/nos-courriels-pistes.html":"d", - "/note/2017/03/vider-le-filelist-dun-input-type-file.html":"28", - "/note/2017/09/lesbricodeurs-jaime-votre-nom.html":"D", + "/note/2017/05/twitter-partage-vos-donnees-personnelles.html":"Q", + "/note/2016/11/indieweb-make-your-social-media-posts-open-first.html":"2z", + "/note/2016/08/pokemon-go-et-societe-de-surveillance.html":"2P", "/note/2017/03/why-apple-avoid-the-gpl-3.html":"29", - "/note/2016/12/le-travail-aujourdhui-est-en-voie-de-disparition.html":"2t", - "/note/2017/06/sesame-street-lgbt-pride.html":"L", - "/note/2017/11/les-voyants-riront-de-ne-plus-avoir-de-pieds.html":"p", - "/note/2016/01/tiens-un-article-sur-le-darknet-que-plusieurs-devraient-lire.html":"3d", - "/note/2016/09/why-we-use-progressive-enhancement-to-build-gov-uk.html":"2G", - "/note/2016/12/michel-chartrand-aurait-eu-cent-ans-hier.html":"2r", - "/note/2016/05/firefox-print-background-color.html":"33", - "/note/2016/08/ssh-chat-server-written-ingo.html":"2R", + "/note/2018/01/nos-courriels-pistes.html":"d", + "/note/2017/10/why-we-sleep.html":"z", + "/note/2017/10/reply-to-saralfddin93-for-status-914965952898457600.html":"w", "/note/2016/12/larnaque-de-la-dictature-bancaire-continue.html":"2v", + "/note/2017/05/retirer-la-couche-pandoc-de-fakestache-ssg.html":"S", + "/note/2016/08/openbsd-pour-tous.html":"2N", + "/note/2016/11/browsers-not-apps-are-the-future-of-mobile.html":"2y", + "/albums-preferes.html":"22", "/note/2018/01/ceci-n-est-qu-un-test-de-publication-websub.html":"8", - "/note/2018/01/reflechissez-avant-de-poster.html":"3", - "/note/2016/09/radio-canada-publicitaire-pour-apple.html":"2K", - "/txt/2014/09/mes-logiciels-libres-preferes.html":"3h", - "/txt/2014/02/les-partis-politiques-nuisent-ils-a-la-democratie.html":"3k", - "/note/2016/02/encryption-is-the-nsas-friend-20160127nsa_loves_it_when_you_use_pgp.html":"3b", - "/note/2018/01/test-vers-mastodon-v2.html":"9", - "/note/2017/12/halt-and-catch-fire-soundtrack.html":"h", "/note/2017/05/pandoc-for-openbsd.html":"T", - "/note/2017/01/la-ville-facteur-majeur-d-evolution-des-especes.html":"2q", - "/note/2017/04/duckduckgo-hacks-for-developers.html":"Z", - "/note/2017/06/le-velo-cest-dangereux.html":"P", - "/note/2017/10/ghandi-je-suis-pret-a-mourir-pour-plusieurs-causes-a-tuer-pour-aucune.html":"y", - "/note/2018/02/ceci-est-le-test-2.html":"3q", + "/txt/2018/02/un-raccourcisseur-d-url-pour-site-statique.html":"3w", + "/file/curriculum-vitae.html":"3n", + "/note/2018/03/thanks-to-qb1t-about-cabal.html":"3v", + "/note/2017/09/lesbricodeurs-jaime-votre-nom.html":"D", + "/note/2016/08/vimgifs-et-emacs_gifs.html":"2T", + "/txt/bash/2017/03/manuel-taskrunner.html":"2c", + "/note/2016/12/le-travail-aujourdhui-est-en-voie-de-disparition.html":"2t", + "/note/2018/01/an-introduction-to-the-indieweb.html":"c", + "/note/2016/11/would-the-web-s-inventor-give-up-on-free-standards.html":"2w", + "/note/2016/08/everybody-should-be-twitter-verified.html":"2W", + "/note/2017/11/rip-au-capitaine-crochet-de-la-pop-quebecoise.html":"q", + "/note/2018/03/les-pods-diaspora-communiquent.html":"3x", "/note/2016/05/justin-jackson-is-a-fucking-webmaster.html":"34", - "/note/2016/08/programming-languages-hyperpolyglot.html":"2V", + "/note/2016/05/indieweb-in-a-nutshellown-your-identity-domain-website-content-uiux.html":"36", + "/note/2018/02/the-radical-idea-of-a-world-without-jobs.html":"2", + "/note/2016/10/who-pays-for-the-decentralized-web.html":"2D", + "/note/2016/06/nous-sommes-eduques-a-croire.html":"32", + "/txt/emacs/2015/06/emacs-101-la-configuration.html":"3f", + "/note/2017/03/revanche-des-librairies-independantes.html":"2h", "/note/2017/01/because-protest-is-an-industry.html":"2n", - "/note/2017/05/switching-to-openbsd.html":"Y", - "/note/2017/05/mg-is-micro-gnu-emacs.html":"V", - "/note/2017/05/utilisation-des-variables-css.html":"R", - "/note/2018/01/premier-pullrequest-lua-accepte.html":"4", - "/note/2017/06/petite-contribution-bash-au-task-runner-manuel.html":"M", + "/note/2018/01/activitypub-is-now-a-w3c-recommendation.html":"5", + "/note/2016/08/snowden-pardon-petition-on-facebook.html":"2Q", + "/note/2016/10/linux-foundation-takes-javascript-under-its-wings.html":"2C", + "/note/2016/08/m4-as-css-pre-processor.html":"2Z", + "/note/2016/08/ssh-chat-server-written-ingo.html":"2R", + "/note/2017/03/poutine-et-bal-masque.html":"2g", + "/note/2018/01/alec-helps-companies-activate-onion-services.html":"7", "/note/2017/05/why-i-love-openbsd.html":"X", + "/note/2017/12/mother-s-maiden-name-not-secure.html":"g", + "/note/2016/08/quoi-ce-n-est-pas-des-femmes-grenouilles.html":"2L", + "/note/2017/01/how-machines-learned-to-speak-human-language.html":"2j", + "/note/2017/11/les-voyants-riront-de-ne-plus-avoir-de-pieds.html":"p", + "/note/2017/03/moi-jaime-pas-les-courriels-juste-en-html.html":"24", "/note/2016/04/encore-une-fois-je-viens-de-supprimer-mon-compte-facebook.html":"38", - "/note/2017/03/animista-css-animations-on-demand.html":"23", - "/note/2017/12/openbsd-mise-a-jour-reussie.html":"n", - "/note/2017/03/vuejs-templates-a-maintenant-son-mode-dans-emacs.html":"2d", - "/note/2016/03/javascript-vanille-underscorejs-font-selon-moi-une-excellente-quipe-youmightnotneedjquery-webdev.html":"39", - "/note/2017/10/reply-to-saralfddin93-for-status-914965952898457600.html":"w", - "/note/2016/10/linux-foundation-takes-javascript-under-its-wings.html":"2C", - "/ce-site-web-explique-markdown.html":"t", - "/note/2017/10/openbsd-6.2-sen-vient-a-la-mi-octobre.html":"x", "/note/2017/06/using-css-variables-correctly.html":"K", - "/note/2016/08/pokemon-go-et-societe-de-surveillance.html":"2P", + "/note/2016/04/tiens-tiens-tiens-le-projet-gnu-revamp-la-page-web.html":"37", + "/note/2018/01/reflechissez-avant-de-poster.html":"3", + "/note/2016/07/emacs-sort-delete-matching-duplicate-lines.html":"3", + "/note/2017/12/halt-and-catch-fire-soundtrack.html":"h", + "/note/2018/02/ceci-est-le-test-1.html":"3p", + "/note/2017/05/utilisation-des-variables-css.html":"R", + "/note/2016/09/ce-que-le-quebec-gagnerait-a-nationaliser-internet.html":"2J", + "/txt/2014/09/mes-logiciels-libres-preferes.html":"3h", + "/ce-site-web-explique-markdown.html":"t", + "/note/2018/01/orbots-16th-makes-using-tor-on-android-better.html":"f", + "/note/2017/01/la-ville-facteur-majeur-d-evolution-des-especes.html":"2q", + "/note/2018/01/test-vers-mastodon-v2.html":"9", + "/note/2017/03/appnet-is-another-silo-who-is-shutting-down.html":"27", + "/note/2017/09/barbares-se-substitus-aux-piliers.html":"F", + "/note/2017/06/100-millions-de-certificats-pour-lets-encrypt.html":"J", + "/note/2017/03/vider-le-filelist-dun-input-type-file.html":"28", + "/note/2017/09/le-poil-de-la-bete.html":"B", + "/note/2017/03/github-and-copyleft.html":"26", + "/note/2017/01/lemprise-de-wallstreet-sur-trump.html":"2p", + "/note/2017/04/duckduckgo-hacks-for-developers.html":"Z", "/note/2017/01/est-ce-une-fausse-nouvelle-car-trop-beau-pour-etre-vrai.html":"2m", + "/note/2017/06/petite-contribution-bash-au-task-runner-manuel.html":"M", + "/note/2018/02/ceci-est-le-test-2.html":"3q", + "/txt/emacs/2015/06/emacs-101-l-introduction.html":"3g", + "/note/2018/01/test-vers-mastodon.html":"b", + "/note/2016/10/how-can-i-handle-command-line-arguments-options-to-my-script-easily.html":"2B", "/note/2017/09/bacteries-communiqueraient-avec-des-decharges-electriques.html":"G", - "/note/2018/01/activitypub-is-now-a-w3c-recommendation.html":"5", - "/txt/bash/2017/03/manuel-taskrunner.html":"2c", + "/note/2016/09/internet-3-0-peut-on-reprendre-le-controle-des-geants.html":"2H", "/note/2017/07/why-the-indie-web-movement-is-so-important.html":"H", - "/note/2016/10/how-can-i-handle-command-line-arguments-options-to-my-script-easily.html":"2B", - "/note/2018/01/alec-helps-companies-activate-onion-services.html":"7", - "/note/2017/03/poutine-et-bal-masque.html":"2g", - "/note/2017/12/salut-bien-bas-aux-infimieres-et-infirmiers.html":"j", - "/note/2016/09/ma-vie-obeit-a-l-attraction-des-livres-nikolski-nicolas-dickner.html":"2F", - "/note/2017/09/barbares-se-substitus-aux-piliers.html":"F", - "/a-propos.html":"25", - "/note/2016/08/openbsd-pour-tous.html":"2N", - "/note/2017/01/lemprise-de-wallstreet-sur-trump.html":"2p", + "/note/2016/09/why-we-use-progressive-enhancement-to-build-gov-uk.html":"2G", + "/file/pgp.html":"3m", "/note/2018/02/ah-zut-va-falloir-que-je-m-assume.html":"3s", - "/note/2016/11/browsers-not-apps-are-the-future-of-mobile.html":"2y", - "/note/2017/05/twitter-partage-vos-donnees-personnelles.html":"Q", - "/note/2017/12/normaliser-la-meute.html":"k", - "/note/2018/02/the-radical-idea-of-a-world-without-jobs.html":"2", - "/note/2017/10/setup-a-desktop-environment-under-openbsd-with-xfce.html":"s", - "/note/2016/10/who-pays-for-the-decentralized-web.html":"2D", + "/note/2017/04/fait-le-respirer-un-peu-ton-code.html":"2", + "/note/2017/06/sesame-street-lgbt-pride.html":"L", + "/note/2016/08/nathalie-normandeau-et-la-radio-de-quebec.html":"2S", + "/note/2016/12/le-peuple-nest-pas-juridiquement-souverain.html":"2s", + "/note/2017/10/ghandi-je-suis-pret-a-mourir-pour-plusieurs-causes-a-tuer-pour-aucune.html":"y", + "/note/2016/08/programming-languages-hyperpolyglot.html":"2V", "/note/2017/06/politique-numerique-que-jaimerais.html":"N", - "/note/2016/09/ce-que-le-quebec-gagnerait-a-nationaliser-internet.html":"2J", - "/note/2016/02/what-is-it-about-society-that-disappoints-you-so-much.html":"3c", - "/note/2016/05/jeunes-liberaux-ringards.html":"35", - "/albums-preferes.html":"22", - "/note/2017/10/why-we-sleep.html":"z", - "/note/2018/02/return-of-the-decentralized-web.html":"3t", "/note/2018/01/what-emacs-theme-is-that-3.html":"6", - "/note/2018/01/test-vers-mastodon.html":"b", - "/note/2016/08/nathalie-normandeau-et-la-radio-de-quebec.html":"2S", + "/note/2017/06/le-velo-cest-dangereux.html":"P", + "/note/2017/04/updating-all-packages-in-go.html":"-", + "/note/2016/02/encryption-is-the-nsas-friend-20160127nsa_loves_it_when_you_use_pgp.html":"3b", + "/note/2016/02/what-is-it-about-society-that-disappoints-you-so-much.html":"3c", + "/note/2016/09/radio-canada-publicitaire-pour-apple.html":"2K", + "/note/2016/01/tiens-un-article-sur-le-darknet-que-plusieurs-devraient-lire.html":"3d", + "/note/2018/01/premier-pullrequest-lua-accepte.html":"4", + "/note/2017/03/animista-css-animations-on-demand.html":"23", + "/note/2017/12/normaliser-la-meute.html":"k", + "/note/2017/03/vuejs-templates-a-maintenant-son-mode-dans-emacs.html":"2d", + "/note/2016/08/shipping-is-a-feature.html":"2X", + "/note/2017/12/openbsd-mise-a-jour-reussie.html":"n", + "/note/2016/12/michel-chartrand-aurait-eu-cent-ans-hier.html":"2r", + "/note/2016/08/matane-budget-participatif.html":"2Y", + "/note/2017/12/salut-bien-bas-aux-infimieres-et-infirmiers.html":"j", "/note/2017/03/presentation-de-manuel-un-task-runner-bash.html":"2b", - "/file/pgp.html":"3m", - "/note/2017/05/fai-associatifs-au-canada.html":"W", + "/txt/2014/02/les-partis-politiques-nuisent-ils-a-la-democratie.html":"3k", "/note/2017/01/3-500-proces-au-cours-des-30-dernieres-annees.html":"2k", - "/note/2018/01/an-introduction-to-the-indieweb.html":"c", - "/note/2016/08/m4-as-css-pre-processor.html":"2Z", - "/note/2016/04/tiens-tiens-tiens-le-projet-gnu-revamp-la-page-web.html":"37", - "/note/2017/03/revanche-des-librairies-independantes.html":"2h", - "/note/2017/06/100-millions-de-certificats-pour-lets-encrypt.html":"J", - "/note/2016/11/the-average-american-now-downloads-zero-apps-per-month.html":"2x", - "/note/2017/12/betty-davis-is-wonderwoman.html":"m", - "/note/2016/11/would-the-web-s-inventor-give-up-on-free-standards.html":"2w", - "/note/2016/12/le-peuple-nest-pas-juridiquement-souverain.html":"2s", - "/note/2016/08/vimgifs-et-emacs_gifs.html":"2T", - "/note/2016/07/emacs-sort-delete-matching-duplicate-lines.html":"3", - "/txt/emacs/2015/06/emacs-101-l-introduction.html":"3g", - "/note/2016/06/nous-sommes-eduques-a-croire.html":"32", - "/note/2016/08/matane-budget-participatif.html":"2Y", - "/file/curriculum-vitae.html":"3n", - "/note/2018/02/ceci-est-le-test-1.html":"3p", - "/note/2017/05/retirer-la-couche-pandoc-de-fakestache-ssg.html":"S", - "/note/2016/08/add-key-bindings-to-moving-faster-between-emacs-windows.html":"2M", - "/note/2017/03/si-les-etats-unis-envahissaient-le-canada.html":"2f", - "/note/2016/08/snowden-pardon-petition-on-facebook.html":"2Q", + "/note/2016/05/jeunes-liberaux-ringards.html":"35", "/txt/2014/04/bronto-politiciens-de-silos.html":"3j", - "/note/2016/09/internet-3-0-peut-on-reprendre-le-controle-des-geants.html":"2H" + "/note/2017/05/switching-to-openbsd.html":"Y", + "/note/2017/09/lesbricodeurs-replyto-status-909427743573577728.html":"C", + "/note/2016/08/txti.html":"2-" } \ No newline at end of file diff --git a/draft/2018/02/un-raccourcisseur-d-url-pour-site-statique.json b/draft/2018/02/un-raccourcisseur-d-url-pour-site-statique.json @@ -1,7 +0,0 @@ -{ - "title": "Un raccourcisseur d'URL pour site statique", - "date": "2018-02-11", - "datetime": "09:33:03", - "template": "txt", - "bridgy": "false" -} diff --git a/draft/2018/02/un-raccourcisseur-d-url-pour-site-statique.md b/draft/2018/02/un-raccourcisseur-d-url-pour-site-statique.md @@ -1,142 +0,0 @@ - -Proposer des URLs courts sur son site statique -============================================== - -Pour un raccourcisseur d'URL maison vous avez besoin d'à peu près 3 -choses: - -1. Une liste de vos liens qui pourra être traversée par une - boucle. Notez que l'ordre de cette liste doit être immuable; ceux - ajoutés a posteriori le seront à la suite des autres. -2. Une fonction qui convertie les nombres naturels (positif et sans - décimal) en chaîne de caractère. -3. Un accès au fichier de configuration de votre serveur HTTP; car - malheuresement la solution que je propose ne peut pas être - accomplie à travers un fichier de type `.htaccess`. *Accès* peut - vouloir dire par vous ou par l'administrateur de votre serveur, si - celui-ci est ouvert à vous aider. - -Traverser la liste de vos liens -------------------------------- - -Il faut que l'emsemble des URLs que vous voulez raccourcir soient -disponibles sous la forme d'un *array*. Comme je l'écrivais plus haut, -dans ce *array*, l'ordre doit être immuable, puisque que ce sera le -nombre qui, correspond à la position de chaque entrée qui servira à -créer la chaîne de caractère courte. - -Pour ma part, je stock mes URLs dans un fichier JSON qui, contient un -objet dont les clés sont les URLs longs et les valeurs sont les -chaînes raccourcies. - -Ce JSON est créé lorsque je lance le générateur de site statique pour -la première fois. Ensuite, je vérifie son existence et une nouvelle -entrée est faite si la clée n'est pas déjà présente dans le JSON en -question. - -Moi j'ai choisi JSON, mais évidemment, cela pourrait être fait avec un -autre format de donnée, comme par exemple SQLite. Sinon, voilà à quoi -ressemble ma fonction en lua : - -``` -function link.makeshorts() - local links = {} - local links_db = Ferron.site.path .. Ferron.site.siteconfig.paths.data .. "/shortlinks.json" - - -- If `links_db` dosen't exists create it - if path.isfile(links_db) == false then - local counter = 0 - - fileutils.pushfilecontent(links_db, "") - - for k, v in tableutils.sortdescendingpairs(Ferron.site.pagestable) do - if v.rellink ~= "" then - counter = counter + 1 - - links[v.rellink] = fileutils.shorturlencode(counter) - end - end - else - links = json.decode(fileutils.pullfilecontent(links_db)) - - for k, v in tableutils.sortdescendingpairs(Ferron.site.pagestable) do - if v.rellink ~= "" and links[v.rellink] == nil then - links[v.rellink] = fileutils.shorturlencode(tableutils.length(links) + 1) - end - end - end - - return fileutils.pushfilecontent(links_db, json.encode(links, {indent = true})) -end -``` - -Convertir les nombres en chaîne de caractère --------------------------------------------- - -Dans le bloc de code qui précède, c'est la fonction -`fileutils.shorturlencode()` qui transforme l'identifiant numérique de -la position de chaque entrée, en courte chaîne de caractère. C'est ce -que l'on appelle -[une application bijective](https://fr.wikipedia.org/wiki/Bijection). -J'ai créé une version en lua pour mon générateur de site statique, en -me basant sur la version JavaScript que l'on retrouve sur GitHub dans -le répertoire -[ShortURL](https://github.com/delight-im/ShortURL). D'ailleurs, j'ai -ajouté ma contribution à la douzaine de langage déjà présent. - - -Appliquer les redirection avec `RewriteMap` -------------------------------------------- - - -`shortlinksmap.txt` - -``` -L /note/2017/06/sesame-street-lgbt-pride.html -Q /note/2017/05/twitter-partage-vos-donnees-personnelles.html -23 /note/2017/03/animista-css-animations-on-demand.html -2L /note/2016/08/quoi-ce-n-est-pas-des-femmes-grenouilles.html -M /note/2017/06/petite-contribution-bash-au-task-runner-manuel.html -n /note/2017/12/openbsd-mise-a-jour-reussie.html -4 /note/2018/01/premier-pullrequest-lua-accepte.html -C /note/2017/09/lesbricodeurs-replyto-status-909427743573577728.html -2Q /note/2016/08/snowden-pardon-petition-on-facebook.html -P /note/2017/06/le-velo-cest-dangereux.html -2H /note/2016/09/internet-3-0-peut-on-reprendre-le-controle-des-geants.html -``` - -`/etc/apache2/sites-available/hugo.soucy.cc.conf` - -``` -RewriteEngine On -RewriteMap shortlinksmap "txt:/var/www/hugo.soucy.cc/shortlinksmap.txt" -RewriteCond ${shortlinksmap:$1|Unknown} !Unknown -RewriteRule "^/(.*)$" "${shortlinksmap:$1}" [R,L] -``` - ---- - -À propos des enjeux autour des URLs courts ------------------------------------------- - -Les URLs courts sont souvent visibles sur les réseaux sociaux, tel que -Twitter, pour faciliter le partage de lien dans un contexte où le -message de l'auteur est limité en caractère; historiquement 140 et -maintenant 280 pour les *tweets*. Le service le plus connu est sans -doute **bit.ly**. Sinon on voit également beaucoup celui de -l'omniprésent Google, dont le nom de domaine est **goo.gl**. - -L'utilisation d'un service de raccourcissement fragilise la périnnité -des URLs dans nos contenus; puisque si le service en question cesse -ses activités du jour au lendemain, tous les liens qu'il redirigait se -retrouvent dès lors inutilisables. De plus, que se passerait-il si un -service était pirater ou racheter par quelqu'un avec de mauvaises -intentions qui, pourrait réaiguiller tous les URLs vers des -destinations peu reluisantes ?! - -Dans une optique de durabilité et de robustesse il vaut toujours mieux -gérer soi-même ses données. Si vous utilisez un CMS comme **Drupal** -ou **Wordpress** vous avez sans doute accès à des extensions qui vous -permettent de mettre en place votre propre raccourcisseur. Et c'est -probablement le cas également de générateurs de site statique bien -établis comme **Jekill** ou **Octopress**. diff --git a/manuelfile b/manuelfile @@ -34,11 +34,11 @@ function build () { case $1 in -d|--dev) cd "$FERRON_PATH" && - lua53 ./ferron.lua --dev + ./cornelius build --dev ;; *) cd "$FERRON_PATH" && - lua53 ./ferron.lua + ./cornelius build ;; esac diff --git a/site-config.lua b/site-config.lua @@ -34,7 +34,6 @@ siteconfig = { "https://mastodon.social/@hs0ucy", "https://micro.blog/hs0ucy", "http://twitter.com/hs0ucy", - "https://www.facebook.com/hs0ucy", "https://hs0ucy.tumblr.com/", "https://www.linkedin.com/in/hs0ucy/", "https://plus.google.com/+hs0ucy",