Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

index.html 44KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672
  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>
  13. Étiquette #protopie
  14. — David Larlet</title>
  15. <meta name="description" content="Publications relatives au tag #protopie">
  16. <!-- That good ol' feed, subscribe :). -->
  17. <link rel="alternate"
  18. type="application/atom+xml"
  19. title="Feed"
  20. href="/david/log/">
  21. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  22. <link rel="apple-touch-icon"
  23. sizes="180x180"
  24. href="/static/david/icons2/apple-touch-icon.png">
  25. <link rel="icon"
  26. type="image/png"
  27. sizes="32x32"
  28. href="/static/david/icons2/favicon-32x32.png">
  29. <link rel="icon"
  30. type="image/png"
  31. sizes="16x16"
  32. href="/static/david/icons2/favicon-16x16.png">
  33. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  34. <link rel="mask-icon"
  35. href="/static/david/icons2/safari-pinned-tab.svg"
  36. color="#07486c">
  37. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  38. <meta name="msapplication-TileColor" content="#f7f7f7">
  39. <meta name="msapplication-config"
  40. content="/static/david/icons2/browserconfig.xml">
  41. <meta name="theme-color"
  42. content="#f7f7f7"
  43. media="(prefers-color-scheme: light)">
  44. <meta name="theme-color"
  45. content="#272727"
  46. media="(prefers-color-scheme: dark)">
  47. <!-- Is that even respected? Retrospectively? What a shAItshow…
  48. https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
  49. <meta name="robots" content="noai, noimageai">
  50. <!-- Documented, feel free to shoot an email. -->
  51. <link rel="stylesheet" href="/static/david/css/style_2024-02-03.css">
  52. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  53. <link rel="preload"
  54. href="/static/david/css/fonts/century_supra_ot_a_regular.woff2"
  55. as="font"
  56. type="font/woff2"
  57. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  58. crossorigin>
  59. <link rel="preload"
  60. href="/static/david/css/fonts/century_supra_ot_a_bold.woff2"
  61. as="font"
  62. type="font/woff2"
  63. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  64. crossorigin>
  65. <link rel="preload"
  66. href="/static/david/css/fonts/century_supra_ot_a_italic.woff2"
  67. as="font"
  68. type="font/woff2"
  69. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  70. crossorigin>
  71. <link rel="preload"
  72. href="/static/david/css/fonts/century_supra_ot_b_regular.woff2"
  73. as="font"
  74. type="font/woff2"
  75. media="(prefers-color-scheme: dark)"
  76. crossorigin>
  77. <link rel="preload"
  78. href="/static/david/css/fonts/century_supra_ot_b_bold.woff2"
  79. as="font"
  80. type="font/woff2"
  81. media="(prefers-color-scheme: dark)"
  82. crossorigin>
  83. <link rel="preload"
  84. href="/static/david/css/fonts/century_supra_ot_b_italic.woff2"
  85. as="font"
  86. type="font/woff2"
  87. media="(prefers-color-scheme: dark)"
  88. crossorigin>
  89. <script>
  90. function toggleTheme(themeName) {
  91. document.documentElement.classList.toggle(
  92. 'forced-dark',
  93. themeName === 'dark'
  94. )
  95. document.documentElement.classList.toggle(
  96. 'forced-light',
  97. themeName === 'light'
  98. )
  99. }
  100. const selectedTheme = localStorage.getItem('theme')
  101. if (selectedTheme !== 'undefined') {
  102. toggleTheme(selectedTheme)
  103. }
  104. </script>
  105. <style type="text/css">
  106. details[open] summary {
  107. display: none;
  108. }
  109. </style>
  110. <body data-instant-intensity="viewport-all">
  111. <article>
  112. <header>
  113. <hgroup>
  114. <h1>#protopie</h1>
  115. <p>Publications relatives à cette étiquette</p>
  116. </hgroup>
  117. </header>
  118. <nav>
  119. <p>
  120. <a href="/david/" title="Aller à l’accueil">
  121. Accueil</a>
  122. <a rel="tags"
  123. href="/david/2024/#tags"
  124. title="Liste de toutes les étiquettes">
  125. Étiquettes</a>
  126. <a href="/david/recherche/" title="Aller à la page de recherche" rel="search" data-no-instant>Recherche</a>
  127. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  128. </p>
  129. </nav>
  130. <h2>
  131. <a href="/david/2024/02/13/" title="Lien permanent vers cet article">Feutrage</a> <time datetime="2024-02-13">13 février 2024</time>
  132. </h2>
  133. <p>Atelier du soir avec <a data-link-domain="wiseoakwilderness.com" href="https://wiseoakwilderness.com/">Jesse</a> que je connaissais pour ses autres activités et c’était une surprise de retomber sur lui&#8239;! C’est une bonne personne&nbsp;😊. Le problème des <a data-link-domain="les-affutes.ca" href="https://www.les-affutes.ca/">Affûtés</a> c’est qu’iels arrivent un peu trop bien à me <a href="/david/2024/01/21/" title="Bois">cibler</a>&#8239;!</p>
  134. <p>L’objectif était de faire une paire de mitaines à partir de laine brute, c’est une approche qui m’intéresse beaucoup car je n’arrive pas à accrocher au tricotage et j’ai pourtant de gros besoins à ce sujet (je ne taris pas d’éloge au sujet de <a data-link-domain="nature.larlet.fr" href="https://nature.larlet.fr/habillage/#laine">cette matière</a> par ailleurs, je ne vais pas me répéter ici). Je n’avais aucune idée de cette technique&nbsp;auparavant.</p>
  135. <figure>
  136. <a href="/static/david/2024/2024-02-13-laine-brute.jpg"
  137. title="Cliquer pour une version haute résolution">
  138. <img
  139. src="/static/david/2024/2024-02-13-laine-brute.jpg"
  140. width="2464" height="3285"
  141. srcset="/static/david/2024/2024-02-13-laine-brute.jpg 2464w, /static/david/2024/2024-02-13-laine-brute_660x440.jpg 660w, /static/david/2024/2024-02-13-laine-brute_990x660.jpg 990w, /static/david/2024/2024-02-13-laine-brute_1320x880.jpg 1320w"
  142. sizes="min(100vw, calc(100vh * 2464 / 3285))"
  143. loading="lazy"
  144. decoding="async"
  145. alt="De la laine relativement brute.">
  146. </a>
  147. <figcaption>De la laine relativement&nbsp;brute.</figcaption>
  148. </figure>
  149. <p>La laine provenait de la <a data-link-domain="etsy.com" href="https://www.etsy.com/ca/market/bure_bure">boutique BureBure</a> sur Etsy, ce qui a l’avantage de pouvoir s’en procurer facilement de manière indépendante. Pour une option plus locale, certaines évoquaient <a data-link-domain="lavieenalpaga.com" href="https://www.lavieenalpaga.com/">La Vie en Alpaga</a> mais c’est une laine plus fine qu’il vaut mieux couper d’après Jesse pour qu’elle arrive à feutrer plus facilement. J’ai appris qu’une bonne partie de la laine qui serait utilisable au Québec ne l’est pas faute de rentabilité. À moi de trouver une source&nbsp;locale.</p>
  150. <p>Je vais documenter la méthode car c’est faisable dans sa cuisine sans nécessiter d’outillage particulier et je compte bien continuer cet apprentissage. Cela demande quelques étapes et un petit tour de main, l’atelier était vraiment important pour devenir&nbsp;autonome.</p>
  151. <p>Matériel&nbsp;: un bac étanche, un natte pour faire des <em>maki</em> (véridique), un rectangle de papier bulles, un rectangle en plastique avec des trous (type rideau ou tapis de vaisselle). Le tout dimensionné pour le patron choisi qui peut être découpé dans un sac de course en plastique rigide. Ensuite, il ne faut que de l’eau chaude, du savon et du vinaigre. Autant dire que ce n’est pas le matériel qui coûte&nbsp;cher.</p>
  152. <ol>
  153. <li>On fait un patron ayant une taille d’environ 130% par rapport au résultat attendu, le principe est que la laine va s’agréger et donc réduire sa taille de manière significative lors du&nbsp;processus.</li>
  154. <li>On pose le patron dans le bac, sur la natte + papier&nbsp;bulles.</li>
  155. <li>On ajoute trois couches de laine en commençant par la fibre à l’horizontale puis en croisant les fibres, on fait en sorte que ça dépasse pour pouvoir faire la jonction avec la face arrière du&nbsp;patron.</li>
  156. <li>On recouvre avec le tapis en plastique puis on arrose d’eau très chaude et de&nbsp;savon.</li>
  157. <li>On masse avec tendresse pour ne pas faire de trous au début, c’est cette action qui va relier les différents filaments de laine progressivement (c’est le feutrage à proprement&nbsp;parler).</li>
  158. <li>On retourne et on replie l’excédent sur les bords du patron avant d’ajouter nos trois couches de laine sur cette nouvelle&nbsp;face.</li>
  159. <li>Arrivé à cette étape, on a notre structure et on n’ajoutera plus de laine (à part souci). La simplicité du processus est&nbsp;incroyable.</li>
  160. <li>On fait bien le détourage du pouce dans le cas d’une mitaine. Ne pas oublier de replier le bord en bas, il faut laisser un trou pour le passage de la&nbsp;main&#8239;!</li>
  161. <li>On continue de masser recto-verso un très grand nombre de fois en ajoutant de l’eau chaude et du savon (le foulage) jusqu’à ce que ça tienne bien et que l’on puisse extraire le&nbsp;patron.</li>
  162. <li>On peut maintenant rouler nos <em>maki</em>&#8239;! Cela permet de masser le rouleau et d’avoir d’autres angles pour les fibres. Il faut aussi se concentrer sur les bords pour arrondir les angles et commencer à former la&nbsp;mitaine.</li>
  163. <li>Au bout d’un moment —&nbsp;ces premières étapes ont pris une bonne heure&nbsp;— on passe à la deuxième mitaine, retour à l’étape&nbsp;2…</li>
  164. <li>Avec les deux mitaines en main, on peut les feutrer/fouler réciproquement en se frottant les mains toujours en ajoutant du savon et de l’eau brulante (c’est un atelier vraiment propre) pendant là aussi de longues minutes, l’objectif est d’arriver à approcher de la taille finale désirée. On frotte dans le sens où on veut réduire la taille, par exemple en horizontal sur l’ouverture pour&nbsp;resserrer.</li>
  165. <li>On termine en rinçant abondamment le savon et en plongeant la pièce dans une solution vinaigrée pour changer le pH, ce qui fixe le tout et adouci la&nbsp;laine.</li>
  166. <li>(Optionnel) Il est possible de réduire encore <em>a posteriori</em> en remouillant avec du savon MAIS il n’est pas possible de revenir en arrière donc il vaut mieux s’arrêter trop tôt plutôt que trop tard, d’autant que ça rétrécit au&nbsp;séchage.</li>
  167. </ol>
  168. <p>Il y a très peu de pertes dans le processus même si ça prend beaucoup de savon. Le gros intérêt de la technique, c’est que la pièce est vraiment adaptée au support sur laquelle on la feutre+foule (ici mes mains). Il est possible de couper le surplus en bas pour égaliser mais je préfère que ça remonte plus haut sur l’avant-bras. Le résultat est un peu rigide car j’ai privilégié la chaleur (et les erreurs de débutant) mais il est possible de mettre moins de laine. J’arrive néanmoins à tenir un bâton de ski sans&nbsp;forcer.</p>
  169. <figure>
  170. <a href="/static/david/2024/2024-02-13-mitaines-feutrage.jpg"
  171. title="Cliquer pour une version haute résolution">
  172. <img
  173. src="/static/david/2024/2024-02-13-mitaines-feutrage.jpg"
  174. width="3024" height="4032"
  175. srcset="/static/david/2024/2024-02-13-mitaines-feutrage.jpg 3024w, /static/david/2024/2024-02-13-mitaines-feutrage_660x440.jpg 660w, /static/david/2024/2024-02-13-mitaines-feutrage_990x660.jpg 990w, /static/david/2024/2024-02-13-mitaines-feutrage_1320x880.jpg 1320w"
  176. sizes="min(100vw, calc(100vh * 3024 / 4032))"
  177. loading="lazy"
  178. decoding="async"
  179. alt="Les mitaines réalisées qui sèchent verticalement.">
  180. </a>
  181. <figcaption>Le résultat après 4 heures de travail et pas mal d’huile de&nbsp;coude.</figcaption>
  182. </figure>
  183. <p>Anecdote&nbsp;: j’étais le plus jeune et le seul homme, c’était intéressant d’être au sein de cette <em>sororité des aînées</em>, il ne manquait qu’une cheminée pour avoir une soirée d’anecdotes québécoises au coin du&nbsp;feu&nbsp;🤗.</p>
  184. <p>Au retour, après avoir essoré les mitaines pour qu’elles ne gouttent pas trop, j’ai pu les mettre pour qu’elles affrontent leur première tempête de neige improvisée. Même mouillées et dégoulinantes, j’arrivais à garder mes mains au chaud à l’intérieur… ah, la laine&nbsp;&lt;3. J’ai hâte de tester avec avec une sous-couche et/ou une sur-couche, ça tombe bien car les températures redescendent&nbsp;enfin.</p>
  185. <nav>
  186. <p>
  187. <a href="/david/2024/apprentissage/"
  188. title="Liste de tous les articles 2024 associés à cette étiquette"
  189. rel="tag">#apprentissage</a>
  190. <a href="/david/2024/processus/"
  191. title="Liste de tous les articles 2024 associés à cette étiquette"
  192. rel="tag">#processus</a>
  193. <a href="/david/2024/protopie/"
  194. title="Liste de tous les articles 2024 associés à cette étiquette"
  195. rel="tag">#protopie</a>
  196. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  197. </p>
  198. </nav>
  199. <h2>
  200. <a href="/david/2024/02/02/" title="Lien permanent vers cet article">Valeurs</a> <time datetime="2024-02-02">2 février 2024</time>
  201. </h2>
  202. <blockquote>
  203. <p><em>Performatif</em>, c’est ce qu’on dit d’un verbe dont l’énonciation constitue simultanément l’action qu’il exprime. Par exemple <em>Je promets</em>, <em>Je m’excuse</em> ou <em>La séance est ouverte</em>&nbsp;: le dire, c’est le faire. Dans le champ de l’action, prendre le tournant du registre <em>performatif</em> revient à acter le caractère de plus en plus inopérant du plaidoyer et de l’action revendicative, face à des pouvoirs et lobbies désespérément hermétiques à la nécessité de changement. L’action performative n’a pas besoin de faire la une ni de se soucier des sirènes médiatiques&nbsp;: <mark>elle est sa propre fin.</mark> Sont performatives des actions qui ont un impact immédiat et direct sur le réel, qui ne visent pas à pousser une revendication ou à peser sur une autorité&nbsp;: dont l’effet est contenu dans leur propre réalisation. […]</p>
  204. <p>Pour toutes ces raisons, j’accorde beaucoup d’intérêt à l’émergence de mouvements autonomes, organiques et composites, qui ne confondent pas radicalité et radicalisme, polémique et action politique. Des collectifs qui n’opposent pas le cerveau et les mains, la lutte et la gentillesse, la théorie et la pratique. Qui, par leur nature indisciplinée, et affranchis des enjeux des élections, peuvent échapper aux carcans des institutions. Des réseaux qui ont appris à se satisfaire de la multiplicité des tactiques et des cultures politiques, à archipéliser les îlots qui tentent de s’organiser différemment, en dehors du système, et qui allient dans un même mouvement justice sociale, combat écologique et défense du&nbsp;vivant.</p>
  205. <p><cite><em>Alors nous irons trouver la beauté ailleurs</em>, Corinne Morel&nbsp;Darleux</cite></p>
  206. </blockquote>
  207. <p><em>Prise de notes brutes pendant une séance avec <a data-link-domain="scopyleft.fr" href="http://scopyleft.fr/">Scopyleft</a> accompagnée par <a data-link-domain="acumeo.fr" href="https://www.acumeo.fr/">Olivier Arnould</a>. Nous avions préalablement communiqué nos valeurs personnelles, les valeurs de la culture actuelle et les valeurs de la culture&nbsp;désirée.</em></p>
  208. <p>La culture c’est un système immunitaire, c’est ce qui est souhaité des membres pour garantir la stabilité du système. La culture dans son intention est positive, elle est là pour protéger le système. Le seul moyen de faire évoluer une culture de manière intentionnelle c’est par des actes rituels mais c’est un système qui a une grande inertie. Tout le reste est de la&nbsp;propagande.</p>
  209. <p>Il y a un lien de causalité entre valeurs choisies, croyances que l’on a et comportements que l’on&nbsp;adopte.</p>
  210. <figure>
  211. <a href="/static/david/2024/2024-02-02-les-sept-niveaux-de-conscience-de-r-barrett.png"
  212. title="Cliquer pour une version haute résolution">
  213. <img
  214. src="/static/david/2024/2024-02-02-les-sept-niveaux-de-conscience-de-r-barrett.png"
  215. width="2672" height="2000"
  216. srcset="/static/david/2024/2024-02-02-les-sept-niveaux-de-conscience-de-r-barrett.png 2672w, /static/david/2024/2024-02-02-les-sept-niveaux-de-conscience-de-r-barrett.png 660w, /static/david/2024/2024-02-02-les-sept-niveaux-de-conscience-de-r-barrett.png 990w, /static/david/2024/2024-02-02-les-sept-niveaux-de-conscience-de-r-barrett.png 1320w"
  217. sizes="min(100vw, calc(100vh * 2672 / 2000))"
  218. loading="lazy"
  219. decoding="async"
  220. alt="Le sablier des Sept niveaux de conscience définis par Richard Barrett.">
  221. </a>
  222. <figcaption>Le sablier des Sept niveaux de conscience définis par Richard&nbsp;Barrett.</figcaption>
  223. </figure>
  224. <p>On explore les <em>Sept niveaux de conscience</em> des CTT (<em>Cultural Transformation Tools</em>) de Richard Barrett. Les valeurs appartiennent à de grands domaines. Une organisation fonctionne bien lorsque l’ensemble des domaines sont couverts. Pas de domaine plus important qu’un autre, malgré la représentation en sablier (qui montre un point de pivot intéressant&nbsp;néanmoins)&nbsp;:</p>
  225. <ol>
  226. <li>Survie&nbsp;: les basiques de la pyramide de Maslow, si la boîte meurt ça ne sert plus à rien de parler&nbsp;culture.</li>
  227. <li>Relations&nbsp;: communication entre individus qui soit efficace (pas de notion d’équipe à ce&nbsp;stade)</li>
  228. <li>Estime de Soi&nbsp;: c’est un peu l’archétype masculin (croissance, performance, qualité, etc)</li>
  229. <li>Transformation&nbsp;: se questionner, changer ses&nbsp;habitudes</li>
  230. <li>Cohésion Interne&nbsp;: le collectif fonctionne bien, partage des valeurs et des engagements (faire équipe, potentiellement avec le&nbsp;client)</li>
  231. <li>Faire la Différence&nbsp;: avoir un impact significatif sur l’extérieur, qui déborde de&nbsp;l’organisation</li>
  232. <li>Service&nbsp;: responsabilité sociétale, vision à long terme d’avoir un impact positif sur la société et la&nbsp;planète</li>
  233. </ol>
  234. <p>On peut les&nbsp;grouper&nbsp;:</p>
  235. <ul>
  236. <li>1 + 2 + 3&nbsp;: socle d’oxygène positif pour pouvoir&nbsp;avancer</li>
  237. <li>4&nbsp;: se remettre en question pour pouvoir&nbsp;évoluer</li>
  238. <li>5 + 6 + 7&nbsp;: dimension collective de cette&nbsp;évolution</li>
  239. </ul>
  240. <p>Une valeur majoritaire se trouve à la fois dans les valeurs personnelles et les valeurs de la culture&nbsp;actuelle&nbsp;:</p>
  241. <ul>
  242. <li>écoute</li>
  243. </ul>
  244. <p>Trois valeurs majoritaires sont à la fois dans les valeurs de la culture actuelle et celles de la culture&nbsp;désirée&nbsp;:</p>
  245. <ul>
  246. <li>agilité</li>
  247. <li>attention, bienveillance, prendre&nbsp;soin</li>
  248. <li>coopération</li>
  249. </ul>
  250. <p>C’est un alignement déjà très élevé et il n’y a pas de valeurs qui freinent l’entreprise (baronnie, etc).</p>
  251. <p>Ce qui apparait dans les nouvelles valeurs majoritaires de la culture&nbsp;désirée&nbsp;:</p>
  252. <ul>
  253. <li>amélioration&nbsp;continue</li>
  254. <li>développement durable, pérennité</li>
  255. <li>initiative, prendre des&nbsp;initiatives</li>
  256. <li>responsabilité&nbsp;sociétale</li>
  257. <li>vision&nbsp;partagée</li>
  258. </ul>
  259. <p>Nous sommes globalement sur la même longueur d’onde. Il y a parfois des valeurs-antidotes qui apparaissent dans la culture désirée, ce qu’on voit peu dans nos&nbsp;résultats.</p>
  260. <p>Ce genre d’exercice n’est qu’un prétexte à enclencher des&nbsp;échanges&nbsp;:</p>
  261. <ul>
  262. <li>Il n’y a pas grand chose autour de 1 (Survie / solidité financière) et 3 (Estime de Soi / performance). Est-ce que c’est OK pour&nbsp;nous&#8239;?</li>
  263. <li>Quels comportements adopter pour avoir la sensation de répondre à ces valeurs&nbsp;désirées&#8239;?</li>
  264. </ul>
  265. <p>Prendre l’initiative c’est créer une perturbation dans le système par <em>une partie</em> du groupe, se démarquer. La vision partagée fait appel par contre au collectif. Il s’agit de construire un système ensemble qui autorise à faire des choses dans le cadre de cette vision partagée. Il serait pertinent d’éclairer la tensions entre initiatives locales et impact global (coucou <del>René Dubos</del>&nbsp;<a href="/david/stream/2015/11/22/">Jacques Ellul</a>). On a le véhicule, il faut choisir où il va maintenant grâce à un cadre collectivement&nbsp;consenti.</p>
  266. <p>Pour progresser, on pourrait travailler sur des prises de décisions concrètes, engageantes. Il faut accepter / souhaiter que ça va déstabiliser le système (immunitaire). Hop, retour à&nbsp;l’intro.</p>
  267. <p>Note&nbsp;: l’Holacracy est un bon business pour les consultant·es, la Sociocratie ouvre d’autres possibilités au sujet du consentement. Voir aussi <em><a data-link-domain="iapop.com" href="https://iapop.com/deep-democracy/" hreflang="en"
  268. title="Consultation de l’article (anglais)">Deep Democracy</a>
  269. <a href="/david/cache/2024/1d60fc5548a6fe61da80a4e16892fa0c/" hreflang="en"
  270. data-tippy data-description="Definition of Deep Democracy The concept of Deep Democracy was developed by Arnold Mindell. It is defined as an attitude and a principle. Attitude: Deep Democracy is an attitude that […]"
  271. data-source="https://iapop.com/deep-democracy/"
  272. data-date="2024-01-31"
  273. data-favicon="https://iapop.com/wp-content/uploads/2018/03/iapop_world_icon-blue-150px-tiny.png"
  274. data-domain="iapop.com"
  275. ><svg xmlns="http://www.w3.org/2000/svg"
  276. width="24" height="24" viewBox="0 0 24 24" fill="none"
  277. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  278. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  279. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  280. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  281. </svg>
  282. <span class="sr-only">[archive]</span></a></em> et <em>Inside The NO: Five Steps to Decisions That Last</em> par Myrna&nbsp;Lewis.</p>
  283. <blockquote>
  284. <p>Et puis il faudra parfois redescendre sur terre et revenir à soi pour se sentir fier de ses actes et de ses choix. Bien sûr, il ne s’agit pas de remplacer une injonction par une autre, et on a parfaitement le droit de trouver qu’il n’y a rien à sauver dans la médiocrité ambiante, d’envoyer au diable l’espoir, la joie et la résilience et, simplement, comme je l’ai lu quelque part, «&nbsp;d’en chier sans avoir à en faire une&nbsp;danse&nbsp;».</p>
  285. <p>Mais ça ne fait pas une vie. <mark>Nous avons besoin, chacune et chacun à sa manière, de ces confins où la disgrâce du monde ne peut plus nous engloutir.</mark> De lieux où se retirer en silence, d’espaces où il est possible de rêver plus loin, de terriers où s’inventer d’autres réalités, de livres qui évadent ou élèvent la pensée, et de poches bien profondes où enfoncer les mains. Autant d’<em>ailleurs</em> intimes ou collectifs, réels ou fictifs, de confins qui peuvent être proches comme lointains car il n’est pas nécessaire de se déplacer pour changer de perspective&nbsp;: c’est un bougé en&nbsp;soi.</p>
  286. <p><cite><em>Ibid.</em></cite></p>
  287. </blockquote>
  288. <a href="#hr-61" title="Lien vers cette section de la page"><hr id="hr-61" /></a>
  289. <blockquote>
  290. <p>Après 13&nbsp;éditions d’un événement qui a beaucoup (beaucoup) grandi, ​nous ressentons le besoin d’expérimenter quelque chose d’un peu ​différent en&nbsp;2024.</p>
  291. <p>Nous souhaitons donc vous proposer un festival éphémère à taille (un ​peu plus) humaine, un temps suspendu où imaginaire positif et ​pragmatisme se rejoignent pour façonner un futur soutenable. ​Quelles pratiques dans nos métiers, comment voulons nous ​entreprendre, travailler, communiquer, quelle industrie voulons nous ​pour&nbsp;demain&#8239;?</p>
  292. <p><cite><em><a data-link-domain="etdemain.co" href="https://etdemain.co/#note-d-intention">Et demain&#8239;? (note&nbsp;d’intention)</a></em></cite></p>
  293. </blockquote>
  294. <p>Des évolutions locales sont en cours ici et ailleurs, c’est&nbsp;stimulant.</p>
  295. <nav>
  296. <p>
  297. <a href="/david/2024/equipe/"
  298. title="Liste de tous les articles 2024 associés à cette étiquette"
  299. rel="tag">#équipe</a>
  300. <a href="/david/2024/processus/"
  301. title="Liste de tous les articles 2024 associés à cette étiquette"
  302. rel="tag">#processus</a>
  303. <a href="/david/2024/protopie/"
  304. title="Liste de tous les articles 2024 associés à cette étiquette"
  305. rel="tag">#protopie</a>
  306. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  307. </p>
  308. </nav>
  309. <h2>
  310. <a href="/david/2024/01/21/" title="Lien permanent vers cet article">Bois</a> <time datetime="2024-01-21">21 janvier 2024</time>
  311. </h2>
  312. <p>La dissonance cognitive du jour&nbsp;: faire un atelier de tour à bois et lire dans la foulée <em>La vie secrète des arbre</em> de Peter Wohlleben brillamment mise en version BD par Fred Bernard et Benjamin&nbsp;Flao.</p>
  313. <figure>
  314. <a href="/static/david/2024/2024-01-20-tour-a-bois.jpg"
  315. title="Cliquer pour une version haute résolution">
  316. <img
  317. src="/static/david/2024/2024-01-20-tour-a-bois.jpg"
  318. width="3024" height="4032"
  319. srcset="/static/david/2024/2024-01-20-tour-a-bois.jpg 3024w, /static/david/2024/2024-01-20-tour-a-bois_660x440.jpg 660w, /static/david/2024/2024-01-20-tour-a-bois_990x660.jpg 990w, /static/david/2024/2024-01-20-tour-a-bois_1320x880.jpg 1320w"
  320. sizes="min(100vw, calc(100vh * 3024 / 4032))"
  321. loading="lazy"
  322. decoding="async"
  323. alt="Une assiette, un bol et une cuillère en bois à côté du livre cité avec des plantes en fond.">
  324. </a>
  325. <figcaption>6 heures de travail non-stop pour faire cette assiette et ce&nbsp;bol.</figcaption>
  326. </figure>
  327. <blockquote>
  328. <p>Lorsque je marche en foret, je sens que je fais partie intégrante du vivant. Je suis, nous sommes naturellement, unis au minéral, aux bactéries, aux virus, aux champignons aux plantes, aux chenilles, aux papillons, à tous les&nbsp;animaux.</p>
  329. <p>Nous sommes tous reliés et <mark>ne faisons que passer sur cette mince pellicule de vie</mark> qui couvre miraculeusement la terre. Tout le vivant est constitue des mêmes atomes présents sur notre planète depuis sa&nbsp;création.</p>
  330. <p>Je porte en moi des particules qui ont constitue des arbres du crétacé, des légionnaires romains, des plants de tomates rapportés d’Amérique par les conquistadors… rien ne se crée, tout se transforme, dit-on. Rien n’est plus&nbsp;vrai.</p>
  331. </blockquote>
  332. <figure>
  333. <a href="/static/david/2024/2024-01-20-vie-secrete-arbres.jpg"
  334. title="Cliquer pour une version haute résolution">
  335. <img
  336. src="/static/david/2024/2024-01-20-vie-secrete-arbres.jpg"
  337. width="3024" height="4032"
  338. srcset="/static/david/2024/2024-01-20-vie-secrete-arbres.jpg 3024w, /static/david/2024/2024-01-20-vie-secrete-arbres_660x440.jpg 660w, /static/david/2024/2024-01-20-vie-secrete-arbres_990x660.jpg 990w, /static/david/2024/2024-01-20-vie-secrete-arbres_1320x880.jpg 1320w"
  339. sizes="min(100vw, calc(100vh * 3024 / 4032))"
  340. loading="lazy"
  341. decoding="async"
  342. alt="Extrait du livre «&nbsp;La vie secrète des arbres&nbsp;» dont est issue la citation ci-dessus.">
  343. </a>
  344. <figcaption>J’aime beaucoup des livres transformés en BD, je trouve que l’image leur donne une autre&nbsp;dimension.</figcaption>
  345. </figure>
  346. <p>D’autant plus motivé pour trouver un bout de forêt à préserver —&nbsp;des chasseurs, de l’exploitation, de la pollution, etc.&nbsp;— dans le coin. Un de mes objectifs&nbsp;2024.</p>
  347. <nav>
  348. <p>
  349. <a href="/david/2024/apprentissage/"
  350. title="Liste de tous les articles 2024 associés à cette étiquette"
  351. rel="tag">#apprentissage</a>
  352. <a href="/david/2024/foret/"
  353. title="Liste de tous les articles 2024 associés à cette étiquette"
  354. rel="tag">#forêt</a>
  355. <a href="/david/2024/protopie/"
  356. title="Liste de tous les articles 2024 associés à cette étiquette"
  357. rel="tag">#protopie</a>
  358. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  359. </p>
  360. </nav>
  361. <h2>
  362. <a href="/david/2024/01/14/" title="Lien permanent vers cet article">Fiction</a> <time datetime="2024-01-14">14 janvier 2024</time>
  363. </h2>
  364. <blockquote>
  365. <p>Ces <em>moments perspectivistes</em>, qu’ils soient activés par un voyage ou par une lecture, sont déroutants mais ils sont salutaires. Ils développent la capacité à comprendre d’autres points de vue que le sien ou, du moins, faute de comprendre, à toucher du doigt la multiplicité des rapports au monde et à accepter la relativité de nos perceptions. Le réel n’est pas un. Et on ne perd jamais en humanité à se mettre dans la peau de&nbsp;l’autre.</p>
  366. <p><mark>La fiction peut nous y aider, c’est le lieu par excellence de tous les possibles; saisissons-nous-en comme d’un terrain d’expérimentation.</mark> Tout n’a pas été écrit&nbsp;: tant que de l’inédit surgit, il reste de la place pour la création. Les mutations du monde nous obligent à repenser le fond comme la forme de nos récits. Il y a des sujets à traiter qui ne l’ont pas été par le passé, des questions qu’on ne s’était jamais posées, de nouveaux enjeux dont il faut s’emparer. Il y a des arcs littéraires à inventer qui ne suivent pas les schémas narratifs classiques et s’affranchissent du syndrome de la grande quête. On doit pouvoir brûler les étapes sans attendre le dénouement. On doit pouvoir brouiller les&nbsp;frontières.</p>
  367. <p><cite><em>Alors nous irons trouver la beauté ailleurs</em>, Corinne Morel&nbsp;Darleux</cite></p>
  368. </blockquote>
  369. <p><a href="/david/2024/01/13/" title="Wuwei">Suite</a> de mes lectures et de mes aspirations à écrire —&nbsp;et donc transmettre&nbsp;— différemment. Une autre forme de travail des idées consistant à décrire un à-venir enviable qu’il reste à construire, en commun, avec l’espoir que <q lang="fr">la fiction déplace la réalité</q>.</p>
  370. <p>De <a href="/david/2024/01/09/" title="Blessure">l’immobilisation</a> nait la&nbsp;créativité&#8239;?</p>
  371. <blockquote>
  372. <p>Je crois de plus en plus que nous devons nous entraîner à <em>habiter le trouble</em> comme l’a formulé Donna Haraway, c’est-à-dire à tenir «&nbsp;pour acquis que les modes d’ordre établis se sont effondrés ou sont en voie d’effondrement, et qu’il devient à la fois urgent et possible d’envisager autre chose&nbsp;». Vivre dans un monde en train de disparaître sans savoir ce qui va émerger n’est pas simple, mais <mark>il ne tient qu’à nous de nous ouvrir à d’autres géographies,</mark> d’autres cultures, à toucher aux confins civilisationnels pour imaginer «&nbsp;des façons plus florissantes, plus robustes, moins meurtrières de vivre les uns avec les autres&nbsp;», ailleurs, quand notre propre réalité nous fait&nbsp;défaut.</p>
  373. <p><cite><em>Ibid.</em></cite></p>
  374. </blockquote>
  375. <a href="#hr-30" title="Lien vers cette section de la page"><hr id="hr-30" /></a>
  376. <p>Je prends le temps de décliner le nouveau style pour les pages d’étiquettes 2024. Il va rester la page d’accueil, la plus difficile. Elle comporte actuellement&nbsp;270&nbsp;liens.</p>
  377. <p>Quelle éditorialisation proposer pour éviter la surcharge tout en facilitant l’exploration&#8239;? Offrir une boussole sans proposer de&nbsp;cap.</p>
  378. <blockquote lang="en">
  379. <p>When the right approach reveals itself, it feels obvious. <mark>But only in retrospect.</mark> <strong>Design is only obvious in retrospect.</strong> It takes iteration and discipline to get there. But when you do get there, it’s much easier to explain your design decisions to others. You know why the design is the right one and can frame your rationale in the context of the problem you are trying to&nbsp;solve.</p>
  380. <p><cite><em><a data-link-domain="lukew.com" href="https://lukew.com/ff/entry.asp?2036" hreflang="en"
  381. title="Consultation de l’article (anglais)">Until the Right Design Emerges…</a>
  382. <a href="/david/cache/2024/84f8caf3e7f7b3de9e18281749c3687f/" hreflang="en"
  383. data-tippy data-description="Too often, the process of design is cut short. When faced with user needs or product requirements, many designers draft a mockup or wireframe informed by what they've seen or experienced before"
  384. data-source="https://lukew.com/ff/entry.asp?2036"
  385. data-date="2024-01-13"
  386. data-favicon="https://static.lukew.com/lukew.ico"
  387. data-domain="lukew.com"
  388. ><svg xmlns="http://www.w3.org/2000/svg"
  389. width="24" height="24" viewBox="0 0 24 24" fill="none"
  390. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  391. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  392. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  393. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  394. </svg>
  395. <span class="sr-only">[archive]</span></a></em></cite></p>
  396. </blockquote>
  397. <p><a href="/david/2024/01/13/" title="Wuwei">Non</a>, pas <a data-link-domain="lukew.com" href="https://lukew.com/ff/entry.asp?2008" hreflang="en"
  398. title="Consultation de l’article (anglais)">cette direction</a>
  399. <a href="/david/cache/2024/ea2cfc9aa425a6967d2cacd9f96ceb9e/" hreflang="en"
  400. data-tippy data-description="Large language (AI) models allow us to rethink how to build software and design user interfaces. To that end, we made use of these new capabilities to create a different way of interacting with this site"
  401. data-source="https://lukew.com/ff/entry.asp?2008"
  402. data-date="2024-01-13"
  403. data-favicon="https://static.lukew.com/lukew.ico"
  404. data-domain="lukew.com"
  405. ><svg xmlns="http://www.w3.org/2000/svg"
  406. width="24" height="24" viewBox="0 0 24 24" fill="none"
  407. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  408. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  409. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  410. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  411. </svg>
  412. <span class="sr-only">[archive]</span></a> par&nbsp;contre.</p>
  413. <a href="#hr-31" title="Lien vers cette section de la page"><hr id="hr-31" /></a>
  414. <p>Découvertes culinaires du&nbsp;jour&nbsp;:</p>
  415. <ul>
  416. <li><a data-link-domain="cooked.wiki" href="https://cooked.wiki/">cooked.wiki</a> pour préfixer les recettes&nbsp;(merci <a data-link-domain="mastodon.tetaneutral.net" href="https://mastodon.tetaneutral.net/@newick/111749530608709450">@newick</a>)</li>
  417. <li><a data-link-domain="github.com" href="https://github.com/mealie-recipes/mealie">mealie</a> pour stocker les recettes (merci <a data-link-domain="mamot.fr" href="https://mamot.fr/@aspyrine">@aspyrine</a>)</li>
  418. </ul>
  419. <nav>
  420. <p>
  421. <a href="/david/2024/ecriture/"
  422. title="Liste de tous les articles 2024 associés à cette étiquette"
  423. rel="tag">#écriture</a>
  424. <a href="/david/2024/experience/"
  425. title="Liste de tous les articles 2024 associés à cette étiquette"
  426. rel="tag">#expérience</a>
  427. <a href="/david/2024/protopie/"
  428. title="Liste de tous les articles 2024 associés à cette étiquette"
  429. rel="tag">#protopie</a>
  430. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  431. </p>
  432. </nav>
  433. <h2>
  434. <a href="/david/2024/01/01/" title="Lien permanent vers cet article">Dryear(s)</a> <time datetime="2024-01-01">1 janvier 2024</time>
  435. </h2>
  436. <blockquote>
  437. <p>33&#8239;% de 44&nbsp;millions de consommateurs vont faire le Dry January<br />
  438. 22&#8239;% des consommateurs ont une conso excessive, c’est-à-dire 10&nbsp;verres/semaine max et plus de deux&nbsp;verres/jour.</p>
  439. <p>Les seniors sont aussi très touché·es.<br />
  440. <mark>L’alcool est une drogue.</mark>.
  441. On peut faire la fête sans alcool et&nbsp;s’éclater.</p>
  442. <p>Quand on arrête&nbsp;: bienfaits sur le foie, la peau, le coeur, etc…<br />
  443. Pb&nbsp;: mémoire, troubles cognitifs, responsable de cancer, pb sommeil, décompensation de maladie psy,…<br />
  444. 41000&nbsp;décès par an en&nbsp;France.</p>
  445. <p>Les cinq symptômes définissent un problème de&nbsp;dépendance&nbsp;:</p>
  446. <ul>
  447. <li>Perte de&nbsp;contrôle</li>
  448. <li>Usage&nbsp;compulsif</li>
  449. <li>Envie&nbsp;répressive</li>
  450. <li>Usage&nbsp;chronique</li>
  451. <li>Conséquences psychiques, physiques, sociales,…</li>
  452. </ul>
  453. <p>Bon Dry J. pour celleux qui le font&#8239;! Moi j’en&nbsp;suis&#8239;!</p>
  454. <p><cite><a data-link-domain="framapiaf.org" href="https://framapiaf.org/@Air/111681709094993435">@Air@framapiaf.org</a></cite></p>
  455. </blockquote>
  456. <p>Dans mon entourage, de plus en plus de personnes que j’estime ne boivent pas d’alcool, de plus en plus de personnes qui vieillissent en deviennent dépendantes. Je suis davantage attiré par la première option… et pas pour un seul&nbsp;mois.</p>
  457. <p>Je me sens prêt, on verra bien où cela me&nbsp;mène.</p>
  458. <a href="#hr-1" title="Lien vers cette section de la page"><hr id="hr-1" /></a>
  459. <p>Grosse envie de reprendre la CSS par ici en ce début d’année. Avec le dilemme de faire chuter cette motivation si je publie dès maintenant avec l’ancienne (qui restera effective sur les anciens articles). Je vais essayer de me&nbsp;retenir.</p>
  460. <nav>
  461. <p>
  462. <a href="/david/2024/addiction/"
  463. title="Liste de tous les articles 2024 associés à cette étiquette"
  464. rel="tag">#addiction</a>
  465. <a href="/david/2024/experience/"
  466. title="Liste de tous les articles 2024 associés à cette étiquette"
  467. rel="tag">#expérience</a>
  468. <a href="/david/2024/protopie/"
  469. title="Liste de tous les articles 2024 associés à cette étiquette"
  470. rel="tag">#protopie</a>
  471. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  472. </p>
  473. </nav>
  474. <form action="/david/recherche/" method="get">
  475. <fieldset>
  476. <legend>Recherche</legend>
  477. <label for="input-search">Termes de votre recherche :</label>
  478. <input id="input-search" type="search" name="s" aria-describedby="indexation-infos" required>
  479. <input type="submit" value="Chercher">
  480. <p id="indexation-infos">
  481. <small>
  482. Seuls les contenus de ces 8 dernières années sont indexés.
  483. </small>
  484. </p>
  485. </fieldset>
  486. </form>
  487. <aside>
  488. <theme-toggle></theme-toggle>
  489. </aside>
  490. </article>
  491. <hr>
  492. <footer>
  493. <p>
  494. <a href="/david/" title="Aller à l’accueil">Accueil</a>
  495. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  496. <a href="http://larlet.com"
  497. title="Go to my English profile"
  498. data-instant>Pro</a>
  499. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Email</a>
  500. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">Légal</abbr>
  501. </p>
  502. <template id="theme-selector">
  503. <form>
  504. <style type="text/css">
  505. fieldset div {
  506. text-align: center;
  507. }
  508. </style>
  509. <fieldset>
  510. <legend>Thème</legend>
  511. <div>
  512. <label>
  513. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  514. Auto
  515. </label>
  516. <label>
  517. <input type="radio" value="dark" name="chosen-color-scheme">
  518. Foncé
  519. </label>
  520. <label>
  521. <input type="radio" value="light" name="chosen-color-scheme">
  522. Clair
  523. </label>
  524. </div>
  525. </fieldset>
  526. </form>
  527. </template>
  528. </footer>
  529. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  530. <script>
  531. class ThemeToggle extends HTMLElement {
  532. constructor() {
  533. super()
  534. const themeSelectorTemplate = document.querySelector('#theme-selector')
  535. const form = themeSelectorTemplate.content.firstElementChild
  536. this.attachShadow({ mode: 'open' })
  537. this.shadowRoot.appendChild(form.cloneNode(true))
  538. }
  539. connectedCallback() {
  540. const form = this.shadowRoot.querySelector('form')
  541. form.addEventListener('change', (e) => {
  542. const chosenColorScheme = e.target.value
  543. localStorage.setItem('theme', chosenColorScheme)
  544. toggleTheme(chosenColorScheme)
  545. })
  546. const selectedTheme = localStorage.getItem('theme')
  547. if (selectedTheme && selectedTheme !== 'undefined') {
  548. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  549. }
  550. }
  551. }
  552. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  553. window.addEventListener('load', () => {
  554. let colorsLayer = undefined
  555. let hasDarkRules = false
  556. for (const styleSheet of Array.from(document.styleSheets)) {
  557. let mediaRules = []
  558. for (const layerRule of styleSheet.cssRules) {
  559. if (!(layerRule instanceof CSSLayerBlockRule)) {
  560. continue
  561. }
  562. if (layerRule.name === 'colors') {
  563. colorsLayer = layerRule
  564. }
  565. for (const cssRule of layerRule.cssRules) {
  566. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  567. continue
  568. }
  569. // WARNING: Safari does not have/supports `conditionText`.
  570. if (cssRule.conditionText) {
  571. if (cssRule.conditionText !== prefersColorSchemeDark) {
  572. continue
  573. }
  574. } else {
  575. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  576. continue
  577. }
  578. }
  579. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  580. }
  581. }
  582. // WARNING: do not try to insert a Rule to a styleSheet you are
  583. // currently iterating on, otherwise the browser will be stuck
  584. // in a infinite loop…
  585. for (const mediaRule of mediaRules) {
  586. // Safari requires the `0` second parameter (even if default).
  587. colorsLayer.insertRule(mediaRule.cssText, 0)
  588. hasDarkRules = true
  589. }
  590. }
  591. if (hasDarkRules) {
  592. if ('customElements' in window && !customElements.get('theme-toggle')) {
  593. customElements.define('theme-toggle', ThemeToggle)
  594. }
  595. }
  596. })
  597. </script>
  598. </body>
  599. </html>