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

4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808
  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>Écoute — 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/07/16/">
  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. Écoute
  438. <time>Publié le 16 juillet</time>
  439. </h1>
  440. <article class="single">
  441. <p><em>Citation de la quinzaine : « On me demande souvent à quoi je pense quand je marche. Et bien, je ne pense pas, je vis ! Il y a des moments pour la réflexion et d’autres pour le mouvement. », Sarah Marquis.</em></p>
  442. <hr />
  443. <blockquote>
  444. <p>When a company first forms, there are no norms or principles guiding how its people should make decisions. It’s basically just what’s in the founders’ heads. With each decision a company makes, its “decision genome” is established and subsequently hardened. You’ve decided in your first month that you’re only going to hire engineers from Top 10 engineering schools? That’s now part of your genome and will determine the composition of your company. You’ve decided to forgo extra profits by keeping your prices low for consumers? That’s now part of your genome. You’ve decided to employ a single dark pattern to trick users into adding more things to their shopping cart? Part of your genome.</p>
  445. <p><cite><em><a href="https://mikeindustries.com/blog/archive/2019/06/superhuman-is-spying-on-you">Superhuman is Spying on You</a></em> (<a href="/david/cache/350fd6131fbc77101106a9215b9ac0e6/">cache</a>)</cite></p>
  446. </blockquote>
  447. <p>Et <a href="https://mikeindustries.com/blog/archive/2019/07/superhumans-superficial-privacy-fixes-do-not-prevent-it-from-spying-on-you">sa suite</a> (<a href="/david/cache/64dc10e933dcbbb46ddbed3d8306dbc5/">cache</a>). Tellement emblématique d’une époque. C’est la raison pour laquelle je suis à la recherche aujourd’hui de solutions <a href="https://inessential.com/2019/07/02/no_algorithms">sans algorithmes</a> (<a href="/david/cache/b66ec62a77bb2dbbf2368414e7b90a63/">cache</a>), sans être <a href="https://nakedsecurity.sophos.com/2019/07/12/hey-google-why-are-your-contractors-listening-to-me/">écouté en permanence</a> (<a href="/david/cache/3c4dd88180e3bda7fb6742a9af7c29a2/">cache</a>) sur un fond de <a href="https://threatpost.com/google-home-recordings-domestic-violence/146424/">« bonne » morale</a> (<a href="/david/cache/96ee2f98aa1d8e683d8a95ac9cc4e078/">cache</a>) ou <a href="https://thehill.com/policy/technology/452397-uk-health-service-to-use-amazon-alexa-to-give-medical-advice">pour m’éduquer</a> (<a href="/david/cache/ee1e672a6abc1a35cd1f8e29f8a4b318/">cache</a>). Tout en conservant un journal des échanges potentiels afin de <a href="https://www.cnbc.com/2019/07/05/google-gmail-purchase-history-cant-be-deleted.html">mieux pouvoir… acheter, bien sûr</a> (<a href="/david/cache/333cc43be3909e59353c96610911331c/">cache</a>).</p>
  448. <p><em>Ne pas voir de la malice là où il n’y aurait que du capitalisme. Sur écoutes.</em></p>
  449. <hr />
  450. <blockquote>
  451. <p>The obvious downside of URL Pages is that the links get very long very quickly. Luckily, some URL shorteners are able to accommodate fairly long URLs (shoutout to TinyUrl). In a strange way, this effectively means the link shortener is acting as the web host since it is responsible for storing the record of the web page’s data.</p>
  452. <p><cite><em><a href="https://github.com/jstrieb/urlpages">URL Pages</a></em></cite></p>
  453. </blockquote>
  454. <p>J’aime bien l’expérimentation, ne pas essayer ceci à la maison (enfin dans la maison des autres en fait). Je suis sûr qu’il y aurait quelque chose à faire pour le versionnement de pages stockées en cache par un ServiceWorker. Lié mais pas trop, j’aime bien voir les essais qui sont réalisés pour <a href="https://github.com/zeit/next.js/issues/7607">standardiser la génération d’un site statique</a> à partir d’une arborescence. Toujours la <a href="/david/correspondances/2017/02/05/">tentation</a> de publier un truc. En relisant la transcription de cette <a href="http://boringtechnology.club/">intervention sur le choix des technologies</a>, je me demande souvent si je ne devrais pas abandonner <a href="https://commonmark.org/">CommonMark</a> au profit de HTML pour la rédaction et la pérennité.</p>
  455. <p>Corollaire : <a href="http://www.la-grange.net/karl/">Karl</a> a toujours raison.</p>
  456. <p><em>Mais publier sans prendre le temps d’être à l’écoute des utilisateur·ice·s, à quoi bon ?</em></p>
  457. <hr />
  458. <blockquote>
  459. <p>Au-delà de ça, j’ai pris conscience que mes réseaux sociaux (et dans une certaine mesure la newsletter) proposaient des updates de la vie douce par facilité.<br />
  460. Parce que la difficulté et la tristesse nécessitent plus de recul, parce qu’il faut attendre qu’un peu de clarté se dégage. Et sans doute aussi par pudeur : ce sont des parts qui touchent de près une intimité qui n’a pas forcément vocation à être dévoilée.<br />
  461. Équilibre difficile à atteindre.</p>
  462. <p><cite><em><a href="https://estcequecestdutravail.xyz/2019/07/weathers-of-the-heart.html">Comment l’itinérance a mis notre relation à l’épreuve</a></em> (<a href="/david/cache/0012ffa54d39ac5b4227d629730c1008/">cache</a>)</cite></p>
  463. </blockquote>
  464. <p>Le web comme espace de partage de bonheurs et d’aigreurs mais beaucoup moins de peurs, d’angoisses, de coups durs, de tristesses. Ou alors <em>a posteriori</em> lorsqu’on est revenu à un état suffisamment correct. Si un jour j’arrête de publier, ce sera peut-être alors le moment de m’aider. Être à l’écoute du silence des autres dans un tel brouhaha. Comment être tenu informé lorsqu’un flux se tarit, <a href="https://thewalrus.ca/death-will-millennials-be-the-first-generation-to-stop-fearing-death/">anticiper ?</a> (<a href="/david/cache/21dafc87e26a4da3726fa593dfe50235/">cache</a>)</p>
  465. <p><em>Aussi, merci beaucoup pour la recette en fin d’article &lt;3.</em></p>
  466. <hr />
  467. <blockquote>
  468. <p>La technique déforme et exacerbe les problèmes qu’elle est supposée résoudre. Elle nous fait croire qu’elle fournit des solutions neutres et optimales aux problèmes sociaux. Elle nous fait croire qu’elle est le mécanisme même du changement social, alors qu’elle ne fait qu’obscurcir les dynamiques sociales et politiques qui sont à l’oeuvre. La technologie nous fait croire que la vie urbaine n’est qu’un problème technique et nous invite à diagnostiquer sélectivement les problèmes qu’elle pourrait résoudre.</p>
  469. <p><cite><em><a href="http://www.internetactu.net/2019/07/10/vers-des-villes-politiquement-intelligentes/">Vers des villes politiquement intelligentes</a></em> (<a href="/david/cache/e668f8556490e6aa490d53761f62aa61/">cache</a>)</cite></p>
  470. </blockquote>
  471. <p>Avant les villes politiquement intelligentes, il serait intéressant de laisser les citoyen·ne·s <a href="http://molleindustria.org/GamesForCities/">jouer avec la ville</a>. Définir des règles qui leurs conviennent collectivement afin que toutes les voix puissent être entendues. Que la représentation de la ville par une caste ne soit pas la seule imaginable.</p>
  472. <p><em>Ni enviable.</em></p>
  473. <hr />
  474. <blockquote>
  475. <p>Pour ma part, j’ai saisi très tôt que je devais impérativement comprendre mon corps et en prendre soin. Garder la santé revient souvent à respecter le rythme de notre corps et à constamment se repositionner en retrouvant son équilibre. Il y a une manière de garder la santé et rester bien loin des médecins. Il s’agit d’un geste que nous arrivons tous à faire et devinez, il est gratuit en plus : il faut dormir, dormir aussi longtemps que le corps vous l’indique.</p>
  476. <p><cite><em>Sauvage par Nature</em>, Sarah Marquis</cite></p>
  477. </blockquote>
  478. <p>Je dois avouer que le fait de ne pas réussir à dormir trop longtemps permet — sans trop de difficultés — d’adopter un rythme circadien… ce qui ouvre d’autres perspectives. Il faudrait que je trouve un moyen de consigner mes réflexions matinales. Si possible numériquement, mais sans être en capacité d’être à l’écoute du bruit numérique.</p>
  479. <p>J’ai l’impression qu’extérioriser sans partager n’aurait pas les mêmes vertus. Écrire sans une certaine écoute fantasmée semble si vain à un égo con(valescent).</p>
  480. <p><em>J’ai parfois le sentiment que mon mal de dos est dû à une tête trop lourde. Tout un symbole.</em></p>
  481. </article>
  482. <nav id="jumpto">
  483. <p>
  484. <a rel=prev href="/david/stream/2019/07/02/">← Anxiété</a> | <a href="/david/stream/2019/" title="Retour à la liste complète">↑ Liste complète</a> | <a rel=next href="/david/stream/2019/07/23/">Timelines →</a>
  485. </p>
  486. </nav>
  487. <footer>
  488. <div>
  489. <img src="/static/david/david-larlet-avatar.jpg" loading="lazy" class="avatar" width="200" height="200">
  490. <p>
  491. Bonjour/Hi!
  492. 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>
  493. 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>).
  494. </p>
  495. <p>
  496. 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>.
  497. </p>
  498. <p>
  499. Les dernières publications hebdomadaires sont :
  500. </p>
  501. <ul class="with_columns">
  502. <li>
  503. <a href="/david/stream/2019/12/31/">Merci</a>
  504. </li>
  505. <li>
  506. <a href="/david/stream/2019/12/27/">Intemporels</a>
  507. </li>
  508. <li>
  509. <a href="/david/stream/2019/12/24/">Outils</a>
  510. </li>
  511. <li>
  512. <a href="/david/stream/2019/12/17/">Origines</a>
  513. </li>
  514. <li>
  515. <a href="/david/stream/2019/12/10/">Publier</a>
  516. </li>
  517. <li>
  518. <a href="/david/stream/2019/12/03/">En forêt</a>
  519. </li>
  520. <li>
  521. <a href="/david/stream/2019/11/26/">Ecocentric</a>
  522. </li>
  523. <li>
  524. <a href="/david/stream/2019/11/19/">Se livrer</a>
  525. </li>
  526. <li>
  527. <a href="/david/stream/2019/11/12/">Dépendances</a>
  528. </li>
  529. <li>
  530. <a href="/david/stream/2019/11/05/">Positif</a>
  531. </li>
  532. <li>
  533. <a href="/david/stream/2019/10/29/">Dettes</a>
  534. </li>
  535. <li>
  536. <a href="/david/stream/2019/10/22/">Privilèges</a>
  537. </li>
  538. <li>
  539. <a href="/david/stream/2019/10/15/">Discrétion</a>
  540. </li>
  541. <li>
  542. <a href="/david/stream/2019/10/08/">Désespérance</a>
  543. </li>
  544. <li>
  545. <a href="/david/stream/2019/10/01/">Présent</a>
  546. </li>
  547. <li>
  548. <a href="/david/stream/2019/09/24/">Manifester</a>
  549. </li>
  550. <li>
  551. <a href="/david/stream/2019/09/17/">Arpenter</a>
  552. </li>
  553. <li>
  554. <a href="/david/stream/2019/09/10/">Nostalgie</a>
  555. </li>
  556. <li>
  557. <a href="/david/stream/2019/09/03/">Déconstruire</a>
  558. </li>
  559. <li>
  560. <a href="/david/stream/2019/08/27/">Documenter</a>
  561. </li>
  562. <li>
  563. <a href="/david/stream/2019/08/20/">Frustration</a>
  564. </li>
  565. <li>
  566. <a href="/david/stream/2019/08/13/">Holisme</a>
  567. </li>
  568. <li>
  569. <a href="/david/stream/2019/08/06/">1%</a>
  570. </li>
  571. <li>
  572. <a href="/david/stream/2019/07/30/">Exemplarité</a>
  573. </li>
  574. <li>
  575. <a href="/david/stream/2019/07/23/">Timelines</a>
  576. </li>
  577. <li>
  578. <a href="/david/stream/2019/07/16/">Écoute</a>
  579. </li>
  580. <li>
  581. <a href="/david/stream/2019/07/02/">Anxiété</a>
  582. </li>
  583. <li>
  584. <a href="/david/stream/2019/06/21/">À lier</a>
  585. </li>
  586. <li>
  587. <a href="/david/stream/2019/06/14/">Pauvreté</a>
  588. </li>
  589. <li>
  590. <a href="/david/stream/2019/06/07/">Amateur</a>
  591. </li>
  592. <li>
  593. <a href="/david/stream/2019/05/31/">Pollution</a>
  594. </li>
  595. <li>
  596. <a href="/david/stream/2019/05/24/">Apaisement</a>
  597. </li>
  598. <li>
  599. <a href="/david/stream/2019/05/10/">Folie</a>
  600. </li>
  601. <li>
  602. <a href="/david/stream/2019/05/03/">Sympathie</a>
  603. </li>
  604. <li>
  605. <a href="/david/stream/2019/04/12/">Péremption</a>
  606. </li>
  607. <li>
  608. <a href="/david/stream/2019/04/05/">Définitions</a>
  609. </li>
  610. <li>
  611. <a href="/david/stream/2019/03/29/">Acceptation</a>
  612. </li>
  613. <li>
  614. <a href="/david/stream/2019/03/22/">Dissonance</a>
  615. </li>
  616. <li>
  617. <a href="/david/stream/2019/03/15/">Reconnaissance</a>
  618. </li>
  619. <li>
  620. <a href="/david/stream/2019/03/08/">Lecture</a>
  621. </li>
  622. <li>
  623. <a href="/david/stream/2019/03/01/">Journaux</a>
  624. </li>
  625. <li>
  626. <a href="/david/stream/2019/02/22/">Écriture</a>
  627. </li>
  628. <li>
  629. <a href="/david/stream/2019/02/15/">Kyriarchie</a>
  630. </li>
  631. <li>
  632. <a href="/david/stream/2019/02/08/">Mots-serrures</a>
  633. </li>
  634. <li>
  635. <a href="/david/stream/2019/02/01/">Sans voie</a>
  636. </li>
  637. <li>
  638. <a href="/david/stream/2019/01/25/">Auto-diagnostic</a>
  639. </li>
  640. <li>
  641. <a href="/david/stream/2019/01/18/">Agilité</a>
  642. </li>
  643. <li>
  644. <a href="/david/stream/2019/01/11/">Métaphores</a>
  645. </li>
  646. <li>
  647. <a href="/david/stream/2019/01/04/">Balbutiements</a>
  648. </li>
  649. </ul>
  650. <p>
  651. Voici quelques articles choisis :
  652. <a href="/david/blog/2019/faire-equipe/" title="Accéder à l’article complet">Faire équipe</a>,
  653. <a href="/david/blog/2018/bivouac-automnal/" title="Accéder à l’article complet">Bivouac automnal</a>,
  654. <a href="/david/blog/2018/commodite-effondrement/" title="Accéder à l’article complet">Commodité et effondrement</a>,
  655. <a href="/david/blog/2017/donnees-communs/" title="Accéder à l’article complet">Des données aux communs</a>,
  656. <a href="/david/blog/2016/accompagner-enfant/" title="Accéder à l’article complet">Accompagner un enfant</a>,
  657. <a href="/david/blog/2016/senior-developer/" title="Accéder à l’article complet">Senior developer</a>,
  658. <a href="/david/blog/2016/illusion-sociale/" title="Accéder à l’article complet">L’illusion sociale</a>,
  659. <a href="/david/blog/2016/instantane-scopyleft/" title="Accéder à l’article complet">Instantané Scopyleft</a>,
  660. <a href="/david/blog/2016/enseigner-web/" title="Accéder à l’article complet">Enseigner le Web</a>,
  661. <a href="/david/blog/2016/simplicite-defaut/" title="Accéder à l’article complet">Simplicité par défaut</a>,
  662. <a href="/david/blog/2016/minimalisme-esthetique/" title="Accéder à l’article complet">Minimalisme et esthétique</a>,
  663. <a href="/david/blog/2014/un-web-omni-present/" title="Accéder à l’article complet">Un web omni-présent</a>,
  664. <a href="/david/blog/2014/manifeste-developpeur/" title="Accéder à l’article complet">Manifeste de développeur</a>,
  665. <a href="/david/blog/2013/confort-convivialite/" title="Accéder à l’article complet">Confort et convivialité</a>,
  666. <a href="/david/blog/2013/testament-numerique/" title="Accéder à l’article complet">Testament numérique</a>,
  667. et <a href="/david/blog/" title="Accéder aux archives">bien d’autres…</a>
  668. </p>
  669. <p>
  670. 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>.
  671. </p>
  672. <p>
  673. Je ne traque pas ta navigation mais mon
  674. <abbr title="Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33.184162340">hébergeur</abbr>
  675. conserve des logs d’accès.
  676. </p>
  677. </div>
  678. </footer>
  679. <script type="text/javascript">
  680. ;(_ => {
  681. const jumper = document.getElementById('jumper')
  682. jumper.addEventListener('click', e => {
  683. e.preventDefault()
  684. const anchor = e.target.getAttribute('href')
  685. const targetEl = document.getElementById(anchor.substring(1))
  686. targetEl.scrollIntoView({behavior: 'smooth'})
  687. })
  688. })()
  689. </script>
  690. <script>
  691. /* Service workers */
  692. if (navigator.serviceWorker) {
  693. window.addEventListener('load', function () {
  694. var selector = 'a[href^="/david/cache/"], a[rel=prev], a[rel=next]'
  695. function sendLinks (selector) {
  696. var links = [].slice.call(document.querySelectorAll(selector)).map(function (link) {
  697. return link.getAttribute('href')
  698. })
  699. links.push(location.pathname) // Put the current page in cache too.
  700. navigator.serviceWorker.controller.postMessage({ links: links })
  701. }
  702. navigator.serviceWorker.getRegistration()
  703. .then(function (registration) {
  704. if (!registration || !navigator.serviceWorker.controller) {
  705. return navigator.serviceWorker.register('/serviceworker.js')
  706. .then(navigator.serviceWorker.ready)
  707. .then(function () {
  708. console.log('[ServiceWorker] Ready to go!')
  709. })
  710. .catch(console.error.bind(console))
  711. } else {
  712. console.log('[ServiceWorker] Send links via registration')
  713. sendLinks(selector)
  714. }
  715. })
  716. navigator.serviceWorker.addEventListener('controllerchange', function () {
  717. console.log('[ServiceWorker] Send links via controller change')
  718. sendLinks(selector)
  719. })
  720. navigator.serviceWorker.addEventListener('message', function (event) {
  721. var link = document.querySelector('a[href="' + event.data.link + '"]')
  722. if (event.data.status && link) {
  723. link.style.backgroundColor = '#2d7474'
  724. link.style.color = '#f0f0ea'
  725. link.setAttribute('title', 'En cache pour consultation sans connexion')
  726. }
  727. })
  728. })
  729. } else {
  730. console.warn('[ServiceWorker] No cache for old browsers.')
  731. }
  732. </script>