Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 31KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834
  1. <!doctype html><!-- This is a valid HTML5 document. -->
  2. <!-- Screen readers, SEO, extensions and so on. -->
  3. <html lang=fr>
  4. <!-- Has to be within the first 1024 bytes, hence before the <title>
  5. See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
  6. <meta charset=utf-8>
  7. <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
  8. <!-- The viewport meta is quite crowded and we are responsible for that.
  9. See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
  10. <meta name=viewport content="width=device-width,minimum-scale=1,initial-scale=1,shrink-to-fit=no">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>Agilité — David Larlet</title>
  13. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  14. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons/apple-touch-icon.png">
  15. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons/favicon-32x32.png">
  16. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons/favicon-16x16.png">
  17. <link rel="manifest" href="/manifest.json">
  18. <link rel="mask-icon" href="/static/david/icons/safari-pinned-tab.svg" color="#5bbad5">
  19. <link rel="shortcut icon" href="/static/david/icons/favicon.ico">
  20. <meta name="apple-mobile-web-app-title" content="David Larlet">
  21. <meta name="application-name" content="David Larlet">
  22. <meta name="msapplication-TileColor" content="#da532c">
  23. <meta name="msapplication-config" content="/static/david/icons/browserconfig.xml">
  24. <meta name="theme-color" content="#f0f0ea">
  25. <!-- That good ol' feed, subscribe :p. -->
  26. <link rel=alternate type="application/atom+xml" title=Feed href="/david/log/">
  27. <!-- Canonical URL for SEO purposes -->
  28. <link rel="canonical" href="https://larlet.fr/david/stream/2019/01/18/">
  29. <style>
  30. /* http://meyerweb.com/eric/tools/css/reset/ */
  31. html, body, div, span,
  32. h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  33. a, abbr, address, big, cite, code,
  34. del, dfn, em, img, ins,
  35. small, strike, strong, tt, var,
  36. dl, dt, dd, ol, ul, li,
  37. fieldset, form, label, legend,
  38. table, caption, tbody, tfoot, thead, tr, th, td,
  39. article, aside, canvas, details, embed,
  40. figure, figcaption, footer, header, hgroup,
  41. menu, nav, output, ruby, section, summary,
  42. time, mark, audio, video {
  43. margin: 0;
  44. padding: 0;
  45. border: 0;
  46. font-size: 100%;
  47. font: inherit;
  48. vertical-align: baseline;
  49. }
  50. /* HTML5 display-role reset for older browsers */
  51. article, aside, details, figcaption, figure,
  52. footer, header, hgroup, menu, nav, section { display: block; }
  53. body { line-height: 1; }
  54. blockquote, q { quotes: none; }
  55. blockquote:before, blockquote:after,
  56. q:before, q:after {
  57. content: '';
  58. content: none;
  59. }
  60. table {
  61. border-collapse: collapse;
  62. border-spacing: 0;
  63. }
  64. /* http://practicaltypography.com/equity.html */
  65. /* https://calendar.perfplanet.com/2016/no-font-face-bulletproof-syntax/ */
  66. /* https://www.filamentgroup.com/lab/js-web-fonts.html */
  67. @font-face {
  68. font-family: 'EquityTextB';
  69. src: url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff2') format('woff2'),
  70. url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff') format('woff');
  71. font-weight: 300;
  72. font-style: normal;
  73. font-display: swap;
  74. }
  75. @font-face {
  76. font-family: 'EquityTextB';
  77. src: url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff2') format('woff2'),
  78. url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff') format('woff');
  79. font-weight: 300;
  80. font-style: italic;
  81. font-display: swap;
  82. }
  83. @font-face {
  84. font-family: 'EquityTextB';
  85. src: url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff2') format('woff2'),
  86. url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff') format('woff');
  87. font-weight: 700;
  88. font-style: normal;
  89. font-display: swap;
  90. }
  91. @font-face {
  92. font-family: 'ConcourseT3';
  93. src: url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff2') format('woff2'),
  94. url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff') format('woff');
  95. font-weight: 300;
  96. font-style: normal;
  97. font-display: swap;
  98. }
  99. /* http://practice.typekit.com/lesson/caring-about-opentype-features/ */
  100. body {
  101. /* http://www.cssfontstack.com/ Palatino 99% Win 86% Mac */
  102. font-family: "EquityTextB", Palatino, serif;
  103. background-color: #f0f0ea;
  104. color: #07486c;
  105. font-kerning: normal;
  106. -moz-osx-font-smoothing: grayscale;
  107. -webkit-font-smoothing: subpixel-antialiased;
  108. text-rendering: optimizeLegibility;
  109. font-variant-ligatures: common-ligatures contextual;
  110. font-feature-settings: "kern", "liga", "clig", "calt";
  111. }
  112. pre, code, kbd, samp, var, tt {
  113. font-family: 'TriplicateT4c', monospace;
  114. }
  115. em {
  116. font-style: italic;
  117. color: #323a45;
  118. }
  119. strong {
  120. font-weight: bold;
  121. color: black;
  122. }
  123. nav {
  124. background-color: #323a45;
  125. color: #f0f0ea;
  126. display: flex;
  127. justify-content: space-around;
  128. padding: 1rem .5rem;
  129. }
  130. nav:last-child {
  131. border-bottom: 1vh solid #2d7474;
  132. }
  133. nav a {
  134. color: #f0f0ea;
  135. }
  136. nav abbr {
  137. border-bottom: 1px dotted white;
  138. }
  139. h1 {
  140. border-top: 1vh solid #2d7474;
  141. border-bottom: .2vh dotted #2d7474;
  142. background-color: #e3e1e1;
  143. color: #323a45;
  144. text-align: center;
  145. padding: 5rem 0 4rem 0;
  146. width: 100%;
  147. font-family: 'ConcourseT3';
  148. display: flex;
  149. flex-direction: column;
  150. }
  151. h1.single {
  152. padding-bottom: 10rem;
  153. }
  154. h1 span {
  155. position: absolute;
  156. top: 1vh;
  157. left: 20%;
  158. line-height: 0;
  159. }
  160. h1 span a {
  161. line-height: 1.7;
  162. padding: 1rem 1.2rem .6rem 1.2rem;
  163. border-radius: 0 0 6% 6%;
  164. background: #2d7474;
  165. font-size: 1.3rem;
  166. color: white;
  167. text-decoration: none;
  168. }
  169. h2 {
  170. margin: 4rem 0 1rem;
  171. border-top: .2vh solid #2d7474;
  172. padding-top: 1vh;
  173. }
  174. h3 {
  175. text-align: center;
  176. margin: 3rem 0 .75em;
  177. }
  178. hr {
  179. height: .4rem;
  180. width: .4rem;
  181. border-radius: .4rem;
  182. background: #07486c;
  183. margin: 2.5rem auto;
  184. }
  185. time {
  186. display: bloc;
  187. margin-left: 0 !important;
  188. }
  189. ul, ol {
  190. margin: 2rem;
  191. }
  192. ul {
  193. list-style-type: square;
  194. }
  195. a {
  196. text-decoration-skip-ink: auto;
  197. text-decoration-thickness: 0.05em;
  198. text-underline-offset: 0.09em;
  199. }
  200. article {
  201. max-width: 50rem;
  202. display: flex;
  203. flex-direction: column;
  204. margin: 2rem auto;
  205. }
  206. article.single {
  207. border-top: .2vh dotted #2d7474;
  208. margin: -6rem auto 1rem auto;
  209. background: #f0f0ea;
  210. padding: 2rem;
  211. }
  212. article p:last-child {
  213. margin-bottom: 1rem;
  214. }
  215. p {
  216. padding: 0 .5rem;
  217. margin-left: 3rem;
  218. }
  219. p + p,
  220. figure + p {
  221. margin-top: 2rem;
  222. }
  223. blockquote {
  224. background-color: #e3e1e1;
  225. border-left: .5vw solid #2d7474;
  226. display: flex;
  227. flex-direction: column;
  228. align-items: center;
  229. padding: 1rem;
  230. margin: 1.5rem;
  231. }
  232. blockquote cite {
  233. font-style: italic;
  234. }
  235. blockquote p {
  236. margin-left: 0;
  237. }
  238. figure {
  239. border-top: .2vh solid #2d7474;
  240. background-color: #e3e1e1;
  241. text-align: center;
  242. padding: 1.5rem 0;
  243. margin: 1rem 0 0;
  244. font-size: 1.5rem;
  245. width: 100%;
  246. }
  247. figure img {
  248. max-width: 250px;
  249. max-height: 250px;
  250. border: .5vw solid #323a45;
  251. padding: 1px;
  252. }
  253. figcaption {
  254. padding: 1rem;
  255. line-height: 1.4;
  256. }
  257. aside {
  258. display: flex;
  259. flex-direction: column;
  260. background-color: #e3e1e1;
  261. padding: 1rem 0;
  262. border-bottom: .2vh solid #07486c;
  263. }
  264. aside p {
  265. max-width: 50rem;
  266. margin: 0 auto;
  267. }
  268. /* https://fvsch.com/code/css-locks/ */
  269. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  270. font-size: 1rem;
  271. line-height: calc( 1.5em + 0.2 * 1rem );
  272. }
  273. h1 {
  274. font-size: 1.9rem;
  275. line-height: calc( 1.2em + 0.2 * 1rem );
  276. }
  277. h2 {
  278. font-size: 1.6rem;
  279. line-height: calc( 1.3em + 0.2 * 1rem );
  280. }
  281. h3 {
  282. font-size: 1.35rem;
  283. line-height: calc( 1.4em + 0.2 * 1rem );
  284. }
  285. @media (min-width: 20em) {
  286. /* The (100vw - 20rem) / (50 - 20) part
  287. resolves to 0-1rem, depending on the
  288. viewport width (between 20em and 50em). */
  289. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  290. font-size: calc( 1rem + .6 * (100vw - 20rem) / (50 - 20) );
  291. line-height: calc( 1.5em + 0.2 * (100vw - 50rem) / (20 - 50) );
  292. margin-left: 0;
  293. }
  294. h1 {
  295. font-size: calc( 1.9rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  296. line-height: calc( 1.2em + 0.2 * (100vw - 50rem) / (20 - 50) );
  297. }
  298. h2 {
  299. font-size: calc( 1.5rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  300. line-height: calc( 1.3em + 0.2 * (100vw - 50rem) / (20 - 50) );
  301. }
  302. h3 {
  303. font-size: calc( 1.35rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  304. line-height: calc( 1.4em + 0.2 * (100vw - 50rem) / (20 - 50) );
  305. }
  306. }
  307. @media (min-width: 50em) {
  308. /* The right part of the addition *must* be a
  309. rem value. In this example we *could* change
  310. the whole declaration to font-size:2.5rem,
  311. but if our baseline value was not expressed
  312. in rem we would have to use calc. */
  313. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  314. font-size: calc( 1rem + .6 * 1rem );
  315. line-height: 1.5em;
  316. }
  317. p, li, pre, details {
  318. margin-left: 3rem;
  319. }
  320. h1 {
  321. font-size: calc( 1.9rem + 1.5 * 1rem );
  322. line-height: 1.2em;
  323. }
  324. h2 {
  325. font-size: calc( 1.5rem + 1.5 * 1rem );
  326. line-height: 1.3em;
  327. }
  328. h3 {
  329. font-size: calc( 1.35rem + 1.5 * 1rem );
  330. line-height: 1.4em;
  331. }
  332. figure img {
  333. max-width: 500px;
  334. max-height: 500px;
  335. }
  336. }
  337. figure.unsquared {
  338. margin-bottom: 1.5rem;
  339. }
  340. figure.unsquared img {
  341. height: inherit;
  342. }
  343. @media print {
  344. body { font-size: 100%; }
  345. a:after { content: " (" attr(href) ")"; }
  346. a, a:link, a:visited, a:after {
  347. text-decoration: underline;
  348. text-shadow: none !important;
  349. background-image: none !important;
  350. background: white;
  351. color: black;
  352. }
  353. abbr[title] { border-bottom: 0; }
  354. abbr[title]:after { content: " (" attr(title) ")"; }
  355. img { page-break-inside: avoid; }
  356. @page { margin: 2cm .5cm; }
  357. h1, h2, h3 { page-break-after: avoid; }
  358. p3 { orphans: 3; widows: 3; }
  359. img {
  360. max-width: 250px !important;
  361. max-height: 250px !important;
  362. }
  363. nav, aside { display: none; }
  364. }
  365. ul.with_columns {
  366. column-count: 1;
  367. }
  368. @media (min-width: 20em) {
  369. ul.with_columns {
  370. column-count: 2;
  371. }
  372. }
  373. @media (min-width: 50em) {
  374. ul.with_columns {
  375. column-count: 3;
  376. }
  377. }
  378. ul.with_two_columns {
  379. column-count: 1;
  380. }
  381. @media (min-width: 20em) {
  382. ul.with_two_columns {
  383. column-count: 1;
  384. }
  385. }
  386. @media (min-width: 50em) {
  387. ul.with_two_columns {
  388. column-count: 2;
  389. }
  390. }
  391. .gallery {
  392. display: flex;
  393. flex-wrap: wrap;
  394. justify-content: space-around;
  395. }
  396. .gallery figure img {
  397. margin-left: 1rem;
  398. margin-right: 1rem;
  399. }
  400. .gallery figure figcaption {
  401. font-family: 'ConcourseT3'
  402. }
  403. footer {
  404. font-family: 'ConcourseT3';
  405. display: flex;
  406. flex-direction: column;
  407. border-top: 3px solid white;
  408. padding: 4rem 0;
  409. background-color: #07486c;
  410. color: white;
  411. }
  412. footer > * {
  413. max-width: 50rem;
  414. margin: 0 auto;
  415. }
  416. footer a {
  417. color: #f1c40f;
  418. }
  419. footer .avatar {
  420. width: 200px;
  421. height: 200px;
  422. border-radius: 50%;
  423. float: left;
  424. -webkit-shape-outside: circle();
  425. shape-outside: circle();
  426. margin-right: 2rem;
  427. padding: 2px 5px 5px 2px;
  428. background: white;
  429. border-left: 1px solid #f1c40f;
  430. border-top: 1px solid #f1c40f;
  431. border-right: 5px solid #f1c40f;
  432. border-bottom: 5px solid #f1c40f;
  433. }
  434. </style>
  435. <h1 class="single">
  436. <span><a id="jumper" href="#jumpto" title="Un peu perdu ?">?</a></span>
  437. Agilité
  438. <time>Publié le 18 janvier</time>
  439. </h1>
  440. <article class="single">
  441. <p><em>Cette semaine a débutée par deux journée dans les bois avec des températures qui n’ont pas dépassées les -18°C. C’était « frète » comme on dit par ici. Heureusement, j’ai passé une nuit dans un refuge que j’ai fait passer de -9°C à 32°C (!) en 3 heures grâce au poêle, le contraste était assez saisissant. Cela m’a permis d’avancer sur mon projet de couture avec un sprint de… 5 heures non-stop, vive l’hiver ! Aussi, j’ai vu le premier <strike>arc-en-ciel circulaire</strike><a href="https://fr.wikipedia.org/wiki/Halo_(ph%C3%A9nom%C3%A8ne_optique)">halo</a> de ma vie &lt;3</em></p>
  442. <figure>
  443. <img src="/static/david/stream/couture.jpg" alt="Mon atelier de couture portable" loading="lazy" width="500" height="500" />
  444. <figcaption>
  445. Atelier de couture portable, ça manque un peu de lumière malgré le réflecteur/pare-vent du réchaud à bois.
  446. </figcaption>
  447. </figure>
  448. <p>C’était aussi l’occasion de réfléchir à l’agilité et à ce que ça voulait dire de promouvoir certaines pratiques dans l’objectif de <a href="/david/stream/2018/12/12/">me diversifier</a> (plus à venir là-dessus). J’en suis ressorti avec la définition suivante :</p>
  449. <blockquote>
  450. <p><strong>Agilité (n.f.) : prendre le temps de communiquer.</strong></p>
  451. </blockquote>
  452. <p>Tout est là, ce qui a pour conséquence possible de comprendre son équipe, d’avoir de l’empathie pour ses utilisateur·ice·s, de partager avec ses pair·e·s dans le but de proposer des trucs pertinents. La communication c’est l’inefficacité qui permet l’horizontalité.</p>
  453. <p><em>Sans communication on a besoin de hiérarchie.</em></p>
  454. <figure class="unsquared">
  455. <a href="/static/david/media/2019/20190111-canada-tronc-enneige.jpg">
  456. <img src="/static/david/media/2019/thumbnails/20190111-canada-tronc-enneige.jpg" alt="Tronc enneigé" />
  457. </a>
  458. <figcaption>
  459. Un développeur <em>full-stack</em> bien chargé.
  460. </figcaption>
  461. </figure>
  462. <p>Et en parlant de ce qui pousse sur les arbres :</p>
  463. <blockquote>
  464. <p>In other words, the ethical alternatives will not grow on trees. They must be funded. And given that they cannot and will not be funded by the same interests that created the problem to begin with (venture capital), we need alternative, ethical funding to create alternative, ethical infrastructure. The technological infrastructure of our societies must be funded from the commons, for the common good. And that requires political will and a system that’s not institutionally corrupt. Neither of which we have today.</p>
  465. <p><cite><em><a href="https://ar.al/2018/12/07/baby-steps/">Baby steps</a></em> (<a href="/david/cache/242a36faf1d181fb8cafd0869e95e034/">cache</a>)</cite></p>
  466. </blockquote>
  467. <p>Aral Balkan essaye beaucoup de choses, à petits pas, et les partage sur <a href="https://ar.al/">son espace</a>. J’aime ça. Il y a une super cagnotte à laquelle on participe (presque) tous et qui nous permet (presque) tous d’en profiter aussi. Indice : ce n’est pas le loto. Quels outils (et données) pour rendre transparente son attribution ? Quels algorithmes politiques (pléonasme) pour influer sur cette répartition ?</p>
  468. <blockquote>
  469. <p>I wish there were a clever marketing name for no-cookies/no-JavaScript sites. It should be a trend.</p>
  470. <p>While the industry is focused on SSL everywhere, we’re not looking at the other half of surveillance tech.</p>
  471. <p><cite><em><a href="http://inessential.com/2019/01/14/netnewswire_privacy_policy">NetNewsWire Privacy Policy</a></em> (<a href="/david/cache/98fa0ca9f540e32f20ef7784b6fef3ec/">cache</a>)</cite></p>
  472. </blockquote>
  473. <p>Brent Simmons nous rappelle que de sécuriser une connexion pour cacher ce que l’on fait et que ça ne soit consigné que par le destinataire… pour être ensuite revendu en arrière plan est complètement incohérent. De là à dire que HTTPS encourage les monopoles, la centralisation et les inégalités, il n’y a qu’un troll. J’assume.</p>
  474. <p>Via <a href="https://keybase.io/">keybase</a> je découvre <a href="https://learn.stellar.org/">stellar</a> qui revendique <cite>« No forks, no energy-wasting, and no unfair staking »</cite> pour des transactions monétaires. Je n’ai pas les compétences pour lire le <a href="https://www.stellar.org/papers/stellar-consensus-protocol.pdf">papier blanc</a> (<a href="/static/david/stream/stellar-consensus-protocol.pdf">cache</a>, PDF 200Ko) mais ça semble prometteur. Enfin des micro-paiements en 2019 ?</p>
  475. <figure class="unsquared">
  476. <a href="/static/david/media/2019/20190112-canada-arbre-givre.jpg">
  477. <img src="/static/david/media/2019/thumbnails/20190112-canada-arbre-givre.jpg" alt="Arbre givré" />
  478. </a>
  479. <figcaption>
  480. Quand on me demande si j’ai eu froid.
  481. </figcaption>
  482. </figure>
  483. <p>J’ai pas mal de conseils pour le grand froid. Ce qui est capital c’est la gestion de l’eau. On a beau être littéralement entouré d’eau (neige), on peut en arriver très vite à être déshydraté sans pouvoir remédier à cela rapidement. Ma stratégie actuelle, c’est d’avoir un petit thermos <em>sur moi</em> (effet bouillotte + ça aussi ça gèle au bout d’un moment !) d’eau ou infusion brûlante. Je rempli le capuchon/verre de neige et je complète avec l’eau chaude, ça me double la quantité de liquide ingérable avec la possibilité de boire une boisson chaude en cas de besoin. Aussi, c’est la saison où il faut piétiner sa barre énergétique <em>avant</em> de l’ouvrir au risque de se casser les dents…</p>
  484. <blockquote>
  485. <p>Nous gagnerions à mieux maîtriser la quantité produite et à mieux comprendre ce qui est fait de nos déchets, ainsi que l’énergie dépensée à les trier, les enfouir, les incinérer. Nous gagnerions à connaître le coût environnemental de toute l’affaire, depuis la fabrication des sacs en plastique immonde jusqu’à l’incinération d’une matière qui a en tout et pour tout servi quelques heures, au mieux quelques jours. Nous gagnerions à retrouver le pouvoir de prendre du recul sur ce que nous produisons.</p>
  486. <p><cite><em><a href="http://resilience.mcpaccard.com/notes/la-ville-et-ses-dechets">La ville et ses déchets</a></em> (<a href="/david/cache/f48428bd52e750dd7cdb1d2efb15a5ba/">cache</a>)</cite></p>
  487. </blockquote>
  488. <p>Marie-Cécile Paccard partage son chemin de résilience à travers des <a href="http://resilience.mcpaccard.com/">notes</a>. À Montréal la ville offre à chaque résident deux bacs : un petit à mettre dans sa cuisine et un plus gros pour stocker en attendant que le camion dédié passe une fois par semaine. Au printemps, il y a une distribution publique de compost pour boucler le cycle et enrichir les jardins locaux. Je ne sais pas quel coût cela représente, j’ai l’intuition que le retour sur investissement global est positif.</p>
  489. <blockquote>
  490. <p>You probably had several great things you wanted to do, but had to pick just a few of them. If so, then consider thinking of it from a place of celebration.</p>
  491. <p>Instead of feeling regret over what you didn’t do, celebrate what you did do.</p>
  492. <p><cite><em><a href="https://shawnblanc.net/2019/01/regret-vs-celebration/">Regret vs Celebration</a></em> (<a href="/david/cache/cabff60e2f12405860c7269dc56debe8/">cache</a>)</cite></p>
  493. </blockquote>
  494. <p><em>This.</em> Tiens, et si je rédigeais mes intentions annuelles ?</p>
  495. <figure class="unsquared">
  496. <a href="/static/david/media/2019/20190112-canada-arbre-soleil.jpg">
  497. <img src="/static/david/media/2019/thumbnails/20190112-canada-arbre-soleil.jpg" alt="Soleil à travers les arbres" />
  498. </a>
  499. <figcaption>
  500. Au bout du tunnel neigeux, la lumière.
  501. </figcaption>
  502. </figure>
  503. <blockquote>
  504. <p>Fermer de temps en temps les portes et les fenêtres de la conscience ; demeurer insensibles au bruit et à la lutte que le monde souterrain des organes à notre service livre pour s’entraider ou s’entre-détruire ; faire silence, un peu, faire table rase dans notre conscience pour qu’il y ait de nouveau de la place pour les choses nouvelles, et en particulier pour les fonctions et les fonctionnaires plus nobles, pour gouverner, pour prévoir, pour pressentir (car notre organisme est une véritable oligarchie) voilà, je le répète, le rôle de la faculté active d’oubli, une sorte de gardienne, de surveillante chargée de maintenir l’ordre psychique, la tranquillité, l’étiquette. On en conclura immédiatement que nul bonheur, nulle sérénité, nulle espérance, nulle fierté, nulle jouissance de l’instant présent ne pourrait exister sans faculté d’oubli.</p>
  505. <p><cite><em>Généalogie de la morale</em>, Nietzsche</cite></p>
  506. </blockquote>
  507. </article>
  508. <nav id="jumpto">
  509. <p>
  510. <a rel=prev href="/david/stream/2019/01/11/">← Métaphores</a> | <a href="/david/stream/2019/" title="Retour à la liste complète">↑ Liste complète</a> | <a rel=next href="/david/stream/2019/01/25/">Auto-diagnostic →</a>
  511. </p>
  512. </nav>
  513. <footer>
  514. <div>
  515. <img src="/static/david/david-larlet-avatar.jpg" loading="lazy" class="avatar" width="200" height="200">
  516. <p>
  517. Bonjour/Hi!
  518. Je suis <a href="/david/" title="Profil public">David&nbsp;Larlet</a>, je vis actuellement à Montréal et j’alimente cet espace depuis 15 ans. <br>
  519. Si tu as apprécié cette lecture, n’hésite pas à poursuivre ton exploration. Par exemple via les <a href="/david/blog/" title="Expériences bienveillantes">réflexions bimestrielles</a>, la <a href="/david/stream/2019/" title="Pensées (dés)articulées">veille hebdomadaire</a> ou en t’abonnant au <a href="/david/log/" title="S’abonner aux publications via RSS">flux RSS</a> (<a href="/david/blog/2019/flux-rss/" title="Tiens c’est quoi un flux RSS ?">so 2005</a>).
  520. </p>
  521. <p>
  522. Je m’intéresse à la place que je peux avoir dans ce monde. En tant qu’humain, en tant que membre d’une famille et en tant qu’associé d’une coopérative. De temps en temps, je fais aussi des <a href="https://github.com/davidbgk" title="Principalement sur Github mais aussi ailleurs">trucs techniques</a>. Et encore plus rarement, <a href="/david/talks/" title="En ce moment je laisse plutôt la place aux autres">j’en parle</a>.
  523. </p>
  524. <p>
  525. Les dernières publications hebdomadaires sont :
  526. </p>
  527. <ul class="with_columns">
  528. <li>
  529. <a href="/david/stream/2019/12/27/">Intemporels</a>
  530. </li>
  531. <li>
  532. <a href="/david/stream/2019/12/24/">Outils</a>
  533. </li>
  534. <li>
  535. <a href="/david/stream/2019/12/17/">Origines</a>
  536. </li>
  537. <li>
  538. <a href="/david/stream/2019/12/10/">Publier</a>
  539. </li>
  540. <li>
  541. <a href="/david/stream/2019/12/03/">En forêt</a>
  542. </li>
  543. <li>
  544. <a href="/david/stream/2019/11/26/">Ecocentric</a>
  545. </li>
  546. <li>
  547. <a href="/david/stream/2019/11/19/">Se livrer</a>
  548. </li>
  549. <li>
  550. <a href="/david/stream/2019/11/12/">Dépendances</a>
  551. </li>
  552. <li>
  553. <a href="/david/stream/2019/11/05/">Positif</a>
  554. </li>
  555. <li>
  556. <a href="/david/stream/2019/10/29/">Dettes</a>
  557. </li>
  558. <li>
  559. <a href="/david/stream/2019/10/22/">Privilèges</a>
  560. </li>
  561. <li>
  562. <a href="/david/stream/2019/10/15/">Discrétion</a>
  563. </li>
  564. <li>
  565. <a href="/david/stream/2019/10/08/">Désespérance</a>
  566. </li>
  567. <li>
  568. <a href="/david/stream/2019/10/01/">Présent</a>
  569. </li>
  570. <li>
  571. <a href="/david/stream/2019/09/24/">Manifester</a>
  572. </li>
  573. <li>
  574. <a href="/david/stream/2019/09/17/">Arpenter</a>
  575. </li>
  576. <li>
  577. <a href="/david/stream/2019/09/10/">Nostalgie</a>
  578. </li>
  579. <li>
  580. <a href="/david/stream/2019/09/03/">Déconstruire</a>
  581. </li>
  582. <li>
  583. <a href="/david/stream/2019/08/27/">Documenter</a>
  584. </li>
  585. <li>
  586. <a href="/david/stream/2019/08/20/">Frustration</a>
  587. </li>
  588. <li>
  589. <a href="/david/stream/2019/08/13/">Holisme</a>
  590. </li>
  591. <li>
  592. <a href="/david/stream/2019/08/06/">1%</a>
  593. </li>
  594. <li>
  595. <a href="/david/stream/2019/07/30/">Exemplarité</a>
  596. </li>
  597. <li>
  598. <a href="/david/stream/2019/07/23/">Timelines</a>
  599. </li>
  600. <li>
  601. <a href="/david/stream/2019/07/16/">Écoute</a>
  602. </li>
  603. <li>
  604. <a href="/david/stream/2019/07/02/">Anxiété</a>
  605. </li>
  606. <li>
  607. <a href="/david/stream/2019/06/21/">À lier</a>
  608. </li>
  609. <li>
  610. <a href="/david/stream/2019/06/14/">Pauvreté</a>
  611. </li>
  612. <li>
  613. <a href="/david/stream/2019/06/07/">Amateur</a>
  614. </li>
  615. <li>
  616. <a href="/david/stream/2019/05/31/">Pollution</a>
  617. </li>
  618. <li>
  619. <a href="/david/stream/2019/05/24/">Apaisement</a>
  620. </li>
  621. <li>
  622. <a href="/david/stream/2019/05/10/">Folie</a>
  623. </li>
  624. <li>
  625. <a href="/david/stream/2019/05/03/">Sympathie</a>
  626. </li>
  627. <li>
  628. <a href="/david/stream/2019/04/12/">Péremption</a>
  629. </li>
  630. <li>
  631. <a href="/david/stream/2019/04/05/">Définitions</a>
  632. </li>
  633. <li>
  634. <a href="/david/stream/2019/03/29/">Acceptation</a>
  635. </li>
  636. <li>
  637. <a href="/david/stream/2019/03/22/">Dissonance</a>
  638. </li>
  639. <li>
  640. <a href="/david/stream/2019/03/15/">Reconnaissance</a>
  641. </li>
  642. <li>
  643. <a href="/david/stream/2019/03/08/">Lecture</a>
  644. </li>
  645. <li>
  646. <a href="/david/stream/2019/03/01/">Journaux</a>
  647. </li>
  648. <li>
  649. <a href="/david/stream/2019/02/22/">Écriture</a>
  650. </li>
  651. <li>
  652. <a href="/david/stream/2019/02/15/">Kyriarchie</a>
  653. </li>
  654. <li>
  655. <a href="/david/stream/2019/02/08/">Mots-serrures</a>
  656. </li>
  657. <li>
  658. <a href="/david/stream/2019/02/01/">Sans voie</a>
  659. </li>
  660. <li>
  661. <a href="/david/stream/2019/01/25/">Auto-diagnostic</a>
  662. </li>
  663. <li>
  664. <a href="/david/stream/2019/01/18/">Agilité</a>
  665. </li>
  666. <li>
  667. <a href="/david/stream/2019/01/11/">Métaphores</a>
  668. </li>
  669. <li>
  670. <a href="/david/stream/2019/01/04/">Balbutiements</a>
  671. </li>
  672. </ul>
  673. <p>
  674. Voici quelques articles choisis :
  675. <a href="/david/blog/2019/faire-equipe/" title="Accéder à l’article complet">Faire équipe</a>,
  676. <a href="/david/blog/2018/bivouac-automnal/" title="Accéder à l’article complet">Bivouac automnal</a>,
  677. <a href="/david/blog/2018/commodite-effondrement/" title="Accéder à l’article complet">Commodité et effondrement</a>,
  678. <a href="/david/blog/2017/donnees-communs/" title="Accéder à l’article complet">Des données aux communs</a>,
  679. <a href="/david/blog/2016/accompagner-enfant/" title="Accéder à l’article complet">Accompagner un enfant</a>,
  680. <a href="/david/blog/2016/senior-developer/" title="Accéder à l’article complet">Senior developer</a>,
  681. <a href="/david/blog/2016/illusion-sociale/" title="Accéder à l’article complet">L’illusion sociale</a>,
  682. <a href="/david/blog/2016/instantane-scopyleft/" title="Accéder à l’article complet">Instantané Scopyleft</a>,
  683. <a href="/david/blog/2016/enseigner-web/" title="Accéder à l’article complet">Enseigner le Web</a>,
  684. <a href="/david/blog/2016/simplicite-defaut/" title="Accéder à l’article complet">Simplicité par défaut</a>,
  685. <a href="/david/blog/2016/minimalisme-esthetique/" title="Accéder à l’article complet">Minimalisme et esthétique</a>,
  686. <a href="/david/blog/2014/un-web-omni-present/" title="Accéder à l’article complet">Un web omni-présent</a>,
  687. <a href="/david/blog/2014/manifeste-developpeur/" title="Accéder à l’article complet">Manifeste de développeur</a>,
  688. <a href="/david/blog/2013/confort-convivialite/" title="Accéder à l’article complet">Confort et convivialité</a>,
  689. <a href="/david/blog/2013/testament-numerique/" title="Accéder à l’article complet">Testament numérique</a>,
  690. et <a href="/david/blog/" title="Accéder aux archives">bien d’autres…</a>
  691. </p>
  692. <p>
  693. On peut <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">échanger par courriel</a>. Si éventuellement tu souhaites que l’on travaille ensemble, tu devrais commencer par consulter le <a href="http://larlet.com">profil dédié à mon activité professionnelle</a> et/ou contacter directement <a href="http://scopyleft.fr/">scopyleft</a>, la <abbr title="Société coopérative et participative">SCOP</abbr> dont je fais partie depuis six ans. Je recommande au préalable de lire <a href="/david/blog/2018/cout-site/" title="Attention ce qui va suivre peut vous choquer">combien coûte un site</a> et pourquoi je suis plutôt favorable à une <a href="/david/pro/devis/" title="Discutons-en !">non-demande de devis</a>.
  694. </p>
  695. <p>
  696. Je ne traque pas ta navigation mais mon
  697. <abbr title="Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33.184162340">hébergeur</abbr>
  698. conserve des logs d’accès.
  699. </p>
  700. </div>
  701. </footer>
  702. <script type="text/javascript">
  703. ;(_ => {
  704. const jumper = document.getElementById('jumper')
  705. jumper.addEventListener('click', e => {
  706. e.preventDefault()
  707. const anchor = e.target.getAttribute('href')
  708. const targetEl = document.getElementById(anchor.substring(1))
  709. targetEl.scrollIntoView({behavior: 'smooth'})
  710. })
  711. })()
  712. </script>
  713. <script>
  714. /* Service workers */
  715. if (navigator.serviceWorker) {
  716. window.addEventListener('load', function () {
  717. var selector = 'a[href^="/david/cache/"], a[rel=prev], a[rel=next]'
  718. function sendLinks (selector) {
  719. var links = [].slice.call(document.querySelectorAll(selector)).map(function (link) {
  720. return link.getAttribute('href')
  721. })
  722. links.push(location.pathname) // Put the current page in cache too.
  723. navigator.serviceWorker.controller.postMessage({ links: links })
  724. }
  725. navigator.serviceWorker.getRegistration()
  726. .then(function (registration) {
  727. if (!registration || !navigator.serviceWorker.controller) {
  728. return navigator.serviceWorker.register('/serviceworker.js')
  729. .then(navigator.serviceWorker.ready)
  730. .then(function () {
  731. console.log('[ServiceWorker] Ready to go!')
  732. })
  733. .catch(console.error.bind(console))
  734. } else {
  735. console.log('[ServiceWorker] Send links via registration')
  736. sendLinks(selector)
  737. }
  738. })
  739. navigator.serviceWorker.addEventListener('controllerchange', function () {
  740. console.log('[ServiceWorker] Send links via controller change')
  741. sendLinks(selector)
  742. })
  743. navigator.serviceWorker.addEventListener('message', function (event) {
  744. var link = document.querySelector('a[href="' + event.data.link + '"]')
  745. if (event.data.status && link) {
  746. link.style.backgroundColor = '#2d7474'
  747. link.style.color = '#f0f0ea'
  748. link.setAttribute('title', 'En cache pour consultation sans connexion')
  749. }
  750. })
  751. })
  752. } else {
  753. console.warn('[ServiceWorker] No cache for old browsers.')
  754. }
  755. </script>