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 15KB

1 year ago
1 year ago
1 year ago
1 year ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  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` element
  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,initial-scale=1">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>Tag #réponse — David Larlet</title>
  13. <meta name="description" content="Publications relatives au tag #réponse">
  14. <!-- That good ol' feed, subscribe :). -->
  15. <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
  16. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  17. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
  18. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
  19. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
  20. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  21. <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
  22. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  23. <meta name="msapplication-TileColor" content="#f7f7f7">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
  26. <meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
  27. <!-- Documented, feel free to shoot an email. -->
  28. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  29. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  30. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  31. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  32. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  36. <script>
  37. function toggleTheme(themeName) {
  38. document.documentElement.classList.toggle(
  39. 'forced-dark',
  40. themeName === 'dark'
  41. )
  42. document.documentElement.classList.toggle(
  43. 'forced-light',
  44. themeName === 'light'
  45. )
  46. }
  47. const selectedTheme = localStorage.getItem('theme')
  48. if (selectedTheme !== 'undefined') {
  49. toggleTheme(selectedTheme)
  50. }
  51. </script>
  52. <style type="text/css">
  53. details[open] summary {
  54. display: none;
  55. }
  56. </style>
  57. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">
  58. <header>
  59. <h1>Publications relatives au tag #réponse</h1>
  60. </header>
  61. <nav>
  62. <p class="center">
  63. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  64. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  65. </svg> Accueil</a>
  66. • <a rel="tags" href="/david/#tags-2023" title="Liste de toutes les étiquettes"><svg class="icon icon-tags">
  67. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-tags"></use>
  68. </svg> Étiquettes</a>
  69. </p>
  70. </nav>
  71. <hr>
  72. <main>
  73. <p>Les plus récentes en premier, les 3 premières sont dépliées et ensuite c’est à la demande, bonne exploration !</p>
  74. <h2><a href="/david/2023/01/08/" title="Lien permanent vers cet article">Partage</a> (2023-01-08)</h2>
  75. <p><a href="https://maiadereva.net/">Maïa</a> me pose la question suite à une discussion Mastodon autour de <a href="/david/2023/01/04/" title="Rétrospectives">Rétrospectives</a>&nbsp;:</p>
  76. <blockquote>
  77. <p>Je me suis d’ailleurs demandé comment tu faisais la distinction entre ce que tu documentes et ce que tu ne documentes pas… Vu que tu dis que ça a un impact sur comment tu te comportes, tu acceptes donc cet impact pour certains&nbsp;domaines&#8239;?</p>
  78. </blockquote>
  79. <p>Je partage beaucoup de choses en ligne, des réflexions, des émotions, des créations, des explorations, etc. Ma limite se définit généralement selon plusieurs&nbsp;critères&nbsp;:</p>
  80. <ul>
  81. <li>si je suis avec des personnes, je ne partage pas forcément leur présence et encore moins leur photo (à part évènement public avec représentation, et encore), ça s’applique très souvent à la&nbsp;famille&#8239;;</li>
  82. <li>si je parle d’un endroit, la géolocalisation reste assez floue intentionnellement (je suis passé par ce lac tel jour par exemple, pas&nbsp;plus)&#8239;;</li>
  83. <li>si j’utilise un outil, il faut qu’il soit possible d’en garder les traces en privé et que ce soit explicite d’en rendre possible l’accès si à un moment je change&nbsp;d’avis.</li>
  84. </ul>
  85. <p>Il y a certainement eu des exceptions depuis que je publie des choses et ces critères ont pu évoluer au cours du temps aussi. Je suis content d’avoir pris le temps d’y répondre par ici pour pouvoir revenir dessus dans quelques années/décennies et comparer cette frontière floue à&nbsp;t+1.</p>
  86. <p><em>Note&nbsp;: c’est un peu pour ça aussi que j’ai arrêté de faire des <a href="https://media.larlet.fr/2021--videos-01.html">vidéos</a>, la mise en scène allait au-delà de ce qui était acceptable pour que je ne sois pas en outrospection&nbsp;constante.</em></p>
  87. <hr />
  88. <blockquote lang="en">
  89. <p>🤗 Writing takes time. Writing well takes a lot of time. On the other hand, the output of writing is almost always more clarity, and sometimes a clear decision. Over my career, I think I’ve wasted at least ten times more time going around and around in conversations without finding consensus than I have writing documents that didn’t turn out to be valuable. It’s very seldom that I think back over writing something and conclude that it wasn’t a good investment of my time. That can happen, and you have to watch for it, but it doesn’t happen to me a&nbsp;lot.</p>
  90. <p><cite><em><a href="https://brooker.co.za/blog/2022/11/08/writing.html">Writing Is Magic</a></em>&nbsp;(<a href="/david/cache/2023/36a8b8a87633796d41c2574720812594/">cache</a>)</cite></p>
  91. </blockquote>
  92. <h2><a href="/david/2023/01/07/" title="Lien permanent vers cet article">Dette</a> (2023-01-07)</h2>
  93. <blockquote>
  94. <p>La dette c’est un problème de riche. Ça arrive après, quand on a trouvé le bon produit, qu’on a trouvé sa cible, qu’on a prouvé qu’on était capable d’ac­qué­rir des clients. Là on aura aussi le finan­ce­ment qui va avec pour embau­cher des ingé­nieurs qui vont <mark>refaire ce qui doit l’être,</mark> et élimi­ner une bonne partie des travaux qu’on avait remis à plus&nbsp;tard.</p>
  95. <p>L’enjeu c’est d’ar­ri­ver jusque&nbsp;là.</p>
  96. <p><cite><em><a href="https://n.survol.fr/n/la-dette-technique">La dette technique - Carnet de notes</a></em>&nbsp;(<a href="/david/cache/2023/934ed9f96be582e35b3c8cf8fc0859e5/">cache</a>)</cite></p>
  97. </blockquote>
  98. <p>La seule fois dans ma carrière (ouais ça fait tout de suite vieux là…) où on a réussi à éponger une dette technique initiale a été sur <a href="https://mesconseilscovid.sante.gouv.fr">MesConseilsCovid</a> lorsqu’on a dû partir <a href="/david/2020/05/26/">comme des fusées</a> avec <a href="https://ronan.amicel.net/">Ronan</a> parce que le gouvernement français ne pouvait pas se douter qu’on allait déconfiner la population à un moment&nbsp;🤷.</p>
  99. <p>Les conditions qui ont rendu possible cela sont&nbsp;multiples&nbsp;:</p>
  100. <ul>
  101. <li>développeurs expérimentés qui se connaissent et qui se sont déjà pincé les doigts plusieurs fois sur du code non testé/à l’arrache à moyen&nbsp;terme&#8239;;</li>
  102. <li>équipe compréhensive qui a pris en compte nos retours et notre endettement volontaire des premières semaines, effort de pédagogie de notre&nbsp;côté&#8239;;</li>
  103. <li>outil relativement simple qui a consisté au début à une preuve de concept permettant de mesurer les usages et attentes, on n’était pas dans une course à la&nbsp;fonctionnalité&#8239;;</li>
  104. <li>budget suffisant pour savoir qu’il serait possible de financer cette dette à moyen terme («&nbsp;Quoi qu’il en coûte&nbsp;», etc&nbsp;#haha).</li>
  105. </ul>
  106. <p>Il faut une sacré conjonction pour que toutes ces conditions soient réunies. De plus, ça a demandé pas mal de rigueur alors que la dette n’était finalement que d’un mois, peut-être&nbsp;moins.</p>
  107. <p>Dans une précédente expérience <em>startup</em>, on avait trop mis l’accent sur la technique/le produit et pas assez sur son adoption/communication, ça peut arriver aussi. J’ai beaucoup appris de cet échec sur l’importance de ce qui est <em>hors</em> du&nbsp;code.</p>
  108. <hr />
  109. <blockquote lang="en">
  110. <p>😔 The most obvious way an online community is like a bar is that bars serve alcohol, and alcohol makes people loud and stupid. It actually depresses your hearing, so you can’t hear yourself talk as well, <mark>so you speak louder.</mark> And a room full of people speaking louder means a very boisterous room. And of course, alcohol reduces inhibition, so you say things you might not usually&nbsp;say.</p>
  111. <p>The parallels to online behavior are easy to see. Online, people are much more willing to type things that they’d never say in&nbsp;person.</p>
  112. <p><cite><em><a href="https://powazek.com/posts/3571">A community isn’t a garden, it’s a bar.</a></em>&nbsp;(<a href="/david/cache/2023/fb08217a583922fd319fabb55f34a4f3/">cache</a>)</cite></p>
  113. </blockquote>
  114. <blockquote lang="en">
  115. <p>🔙 It can be uncomfortable, that clearing away. It can be deeply unpleasant. But it’s also useful. It’s a sign of what you need to change. What I found was that <mark>when I gave myself permission to really feel that unpleasantness,</mark> when I didn’t try to get comfortable with it or avoid it, I opened some space to move: towards a reconfiguration or revision or reimagining of what my work&nbsp;was.</p>
  116. <p><cite><em><a href="https://aworkinglibrary.com/writing/reentry">Reentry | A Working Library</a></em>&nbsp;(<a href="/david/cache/2023/7258248bb534fddb277bf6148cd3ffbf/">cache</a>)</cite></p>
  117. </blockquote>
  118. </main>
  119. <hr>
  120. <footer>
  121. <p>
  122. <nobr>
  123. <a href="/david/" title="Aller à l’accueil"
  124. ><svg class="icon icon-home">
  125. <use
  126. xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"
  127. ></use>
  128. </svg>
  129. Accueil</a
  130. >
  131. </nobr>
  132. <nobr>
  133. <a href="/david/log/" title="Accès au flux RSS"
  134. ><svg class="icon icon-rss2">
  135. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-rss2"></use>
  136. </svg>
  137. Suivre</a
  138. >
  139. </nobr>
  140. <nobr>
  141. <a href="http://larlet.com" title="Go to my English profile" data-instant
  142. ><svg class="icon icon-user-tie">
  143. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-user-tie"></use>
  144. </svg>
  145. Pro</a
  146. >
  147. </nobr>
  148. <nobr>
  149. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"
  150. ><svg class="icon icon-mail">
  151. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-mail"></use>
  152. </svg>
  153. Email</a
  154. >
  155. </nobr>
  156. <nobr>
  157. <abbr
  158. class="nowrap"
  159. title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"
  160. ><svg class="icon icon-hammer2">
  161. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-hammer2"></use>
  162. </svg>
  163. Légal</abbr
  164. >
  165. </nobr>
  166. </p>
  167. <template id="theme-selector">
  168. <form>
  169. <fieldset>
  170. <legend><svg class="icon icon-brightness-contrast">
  171. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-brightness-contrast"></use>
  172. </svg> Thème</legend>
  173. <label>
  174. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  175. </label>
  176. <label>
  177. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  178. </label>
  179. <label>
  180. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  181. </label>
  182. </fieldset>
  183. </form>
  184. </template>
  185. </footer>
  186. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  187. <script>
  188. function loadThemeForm(templateName) {
  189. const themeSelectorTemplate = document.querySelector(templateName)
  190. const form = themeSelectorTemplate.content.firstElementChild
  191. themeSelectorTemplate.replaceWith(form)
  192. form.addEventListener('change', (e) => {
  193. const chosenColorScheme = e.target.value
  194. localStorage.setItem('theme', chosenColorScheme)
  195. toggleTheme(chosenColorScheme)
  196. })
  197. const selectedTheme = localStorage.getItem('theme')
  198. if (selectedTheme && selectedTheme !== 'undefined') {
  199. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  200. }
  201. }
  202. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  203. window.addEventListener('load', () => {
  204. let hasDarkRules = false
  205. for (const styleSheet of Array.from(document.styleSheets)) {
  206. let mediaRules = []
  207. for (const cssRule of styleSheet.cssRules) {
  208. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  209. continue
  210. }
  211. // WARNING: Safari does not have/supports `conditionText`.
  212. if (cssRule.conditionText) {
  213. if (cssRule.conditionText !== prefersColorSchemeDark) {
  214. continue
  215. }
  216. } else {
  217. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  218. continue
  219. }
  220. }
  221. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  222. }
  223. // WARNING: do not try to insert a Rule to a styleSheet you are
  224. // currently iterating on, otherwise the browser will be stuck
  225. // in a infinite loop…
  226. for (const mediaRule of mediaRules) {
  227. styleSheet.insertRule(mediaRule.cssText)
  228. hasDarkRules = true
  229. }
  230. }
  231. if (hasDarkRules) {
  232. loadThemeForm('#theme-selector')
  233. }
  234. })
  235. </script>
  236. </body>
  237. </html>