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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541
  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 #partage
  14. — David Larlet</title>
  15. <meta name="description" content="Publications relatives au tag #partage">
  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>#partage</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/22/" title="Lien permanent vers cet article">Responsabilité</a> <time datetime="2024-02-22">22 février 2024</time>
  132. </h2>
  133. <blockquote>
  134. <p>Il n’y a pas vraiment de conclusion à tout ça. Nous avons été témoins, par le petit bout de la lorgnette, du tout début de cette histoire&#8239;; nous avons imaginé un instant <mark>avoir l’opportunité, ou le devoir,</mark> d’y faire quelque chose. Finalement, nous n’avons jamais vraiment donné notre&nbsp;avis.&nbsp;🤷</p>
  135. <p><cite><em><a data-link-domain="codeursenliberte.fr" href="https://www.codeursenliberte.fr/blog/tous_anti_covid/" hreflang="fr"
  136. title="Consultation de l’article">TousAntiCovid&nbsp;: vu depuis Codeureuses en Liberté</a>
  137. <a href="/david/cache/2024/ddc3ee3603be2702cef745c180b87776/" hreflang="fr"
  138. data-tippy data-description="TousAntiCovid a refait récemment l’actualité sur les montants de l’hébergement et les modalités d’attribution du marché."
  139. data-source="https://www.codeursenliberte.fr/blog/tous_anti_covid/"
  140. data-date="2024-02-22"
  141. data-favicon="https://www.codeursenliberte.fr/favicon.png"
  142. data-domain="codeursenliberte.fr"
  143. ><svg xmlns="http://www.w3.org/2000/svg"
  144. width="24" height="24" viewBox="0 0 24 24" fill="none"
  145. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  146. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  147. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  148. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  149. </svg>
  150. <span class="sr-only">[archive]</span></a></em></cite></p>
  151. </blockquote>
  152. <p>Je me souviens vaguement de certaines discussions à ce sujet. D’un côté l’orgueil de penser que l’on pouvait faire mieux, de l’autre la culpabilité de pouvoir être associé à un tel projet. Et au milieu, une épidémie et le sentiment de pouvoir faire des choses avec nos compétences et notre position au sein de l’État français. Un mois plus tard, je m’embarquais dans <a href="/david/2020/05/26/">une autre aventure</a>, plus proche de mon&nbsp;style.</p>
  153. <p>Deux années, 23&nbsp;millions de visiteur·euses uniques et 60&nbsp;millions de pages vues plus tard, j’ai l’impression d’avoir été utile à mon échelle. Merci à la D<a data-link-domain="ronan.amicel.net" href="https://ronan.amicel.net/">R</a><a data-link-domain="ut7.fr" href="https://www.ut7.fr/">R</a>u<a data-link-domain="maiwann.net" href="https://www.maiwann.net/">M</a><a data-link-domain="fr.linkedin.com" href="https://fr.linkedin.com/in/m%C3%A9lodiedahi">M</a> team pour cette&nbsp;période.</p>
  154. <a href="#hr-84" title="Lien vers cette section de la page"><hr id="hr-84" /></a>
  155. <blockquote lang="en">
  156. <p>A custom element implementation of the Stack is provided for&nbsp;download.</p>
  157. <p><cite><em><a data-link-domain="every-layout.dev" href="https://every-layout.dev/layouts/stack/#the-component" hreflang="en"
  158. title="Consultation de l’article (anglais)">The Stack: Every Layout</a>
  159. <a href="/david/cache/2024/6b2b8e2559a07b8d66dac842017b2619/" hreflang="en"
  160. data-tippy data-description="A composable CSS layout primitive."
  161. data-source="https://every-layout.dev/layouts/stack/#the-component"
  162. data-date="2024-02-22"
  163. data-favicon="https://every-layout.dev/images/favicon.png"
  164. data-domain="every-layout.dev"
  165. ><svg xmlns="http://www.w3.org/2000/svg"
  166. width="24" height="24" viewBox="0 0 24 24" fill="none"
  167. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  168. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  169. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  170. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  171. </svg>
  172. <span class="sr-only">[archive]</span></a></em></cite></p>
  173. </blockquote>
  174. <p>Utiliser des <em>Web Components</em> pour appliquer un style, je n’y avais pas encore&nbsp;songé.</p>
  175. <a href="#hr-85" title="Lien vers cette section de la page"><hr id="hr-85" /></a>
  176. <p>Hier soir, j’ai regardé <a data-link-domain="en.wikipedia.org" href="https://en.wikipedia.org/wiki/The_Deepest_Breath">The Deepest Breath</a>. J’ai mal dormi. D’autant que, plus tôt dans la journée, on m’avait transmis <a data-link-domain="youtube.com" href="https://www.youtube.com/watch?v=LFLl9q-bEgk">ce retour d’expérience</a>, flippant (et discutable) à plus d’un&nbsp;titre.</p>
  177. <p>La récupération de ma cheville suit son cours, ça va être long, il manque du muscle. Je me sens suffisamment en confiance pour tenter une sortie hivernale en camping cette fin de semaine, on va voir ce que ça donne. Il va faire <q lang="fr_CA">frête</q> et ça laisse peu de place aux&nbsp;incapacités…</p>
  178. <nav>
  179. <p>
  180. <a href="/david/2024/decision/"
  181. title="Liste de tous les articles 2024 associés à cette étiquette"
  182. rel="tag">#décision</a>
  183. <a href="/david/2024/experience/"
  184. title="Liste de tous les articles 2024 associés à cette étiquette"
  185. rel="tag">#expérience</a>
  186. <a href="/david/2024/partage/"
  187. title="Liste de tous les articles 2024 associés à cette étiquette"
  188. rel="tag">#partage</a>
  189. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  190. </p>
  191. </nav>
  192. <h2>
  193. <a href="/david/2024/01/31/" title="Lien permanent vers cet article">Mécénat</a> <time datetime="2024-01-31">31 janvier 2024</time>
  194. </h2>
  195. <p>Je termine mon mécénat de compétence avec uMap sur ces 4&nbsp;derniers mois (25&nbsp;jours de travail). Je suis très content d’avoir pu faire cette expérience avec / grâce à Scopyleft et&nbsp;OSM-FR.</p>
  196. <p>Voici les notes que j’avais prises avant d’établir une Convention de mécénat avec <a data-link-domain="openstreetmap.fr" href="https://www.openstreetmap.fr/association/">OpenStreetMap France</a>, j’ai pris le soin de documenter la démarche car ça pourrait donner lieu à d’autres dons en nature de la part de Scopyleft (et puis ça pourrait peut-être vous inspirer&nbsp;😇).</p>
  197. <p><em>Note&nbsp;: vous pouvez réutiliser ces sources d’informations mais elles n’ont pas été validées par une personnes qui serait compétente dans le domaine. #IAmNotALawyer</em></p>
  198. <blockquote>
  199. <p>Une des possibilités offertes à un mécène entreprise consiste à apporter non pas des financements en numéraire mais des moyens (produits ou services) à la cause qu’elle entend soutenir. Il s’agit ici, d’un «&nbsp;mécénat en nature ou de compétence&nbsp;». Les critères d’éligibilité à cette forme de mécénat sont exactement les mêmes que ceux prévus pour une contribution en&nbsp;numéraire.</p>
  200. <p><cite><em><a data-link-domain="culture.gouv.fr" href="https://www.culture.gouv.fr/Thematiques/Mecenat/Entreprises/Le-mecenat-en-nature-ou-en-competence">Source</a></em></cite></p>
  201. </blockquote>
  202. <blockquote>
  203. <p>Le prêt de main d’œuvre&nbsp;: l’entreprise met à disposition d’un organisme éligible au mécénat un ou plusieurs salariés. C’est l’organisme qui pilote la mission et qui peut faire figure d’autorité fonctionnelle dans ce cadre. Le temps et la fréquence du mécénat de compétences peuvent considérablement varier en fonction des besoins&nbsp;: il peut aussi bien s’agir d’une mission courte, même d’une seule demi-journée, que d’une mission plus longue voir d’un plein temps dans la limite de&nbsp;3&nbsp;ans.</p>
  204. <p><cite><em><a data-link-domain="cci.fr" href="https://www.cci.fr/actualites/le-mecenat-de-competences-comment-le-mettre-en-place-et-mobiliser-les-equipes">Source</a></em></cite></p>
  205. </blockquote>
  206. <p>Lorsque les dons sont effectués en nature, il est nécessaire de procéder à leur&nbsp;valorisation&nbsp;:</p>
  207. <ul>
  208. <li>pour le calcul de la réduction d’impôt que déclare&nbsp;l’entreprise&#8239;;</li>
  209. <li>pour la réintégration extra-comptable de la valeur du don par&nbsp;l’entreprise&#8239;;</li>
  210. <li>pour l’établissement du reçu fiscal par l’organisme bénéficiaire du&nbsp;don&#8239;;</li>
  211. <li>pour la détermination des éventuels contreparties remises à l’entreprise par l’organisme bénéficiaire du&nbsp;don.</li>
  212. </ul>
  213. <h2 id="comment-valoriser-un-don-au-titre-dun-mecenat-de-competence">Comment valoriser un don au titre d’un mécénat de compétence&#8239;? <a href="#comment-valoriser-un-don-au-titre-dun-mecenat-de-competence" title="Ancre vers cette partie">#</a></h2>
  214. <blockquote>
  215. <p>Pour chaque salarié mis à disposition, ce don est évalué à son coût de revient, à savoir la somme de sa rémunération et des charges sociales y afférentes dans la limite de trois fois le montant du plafond mentionné à l’article L. 241-3&nbsp;du code de la sécurité sociale (CSS), soit 10&#8239;284&#8239;€ par mois en&nbsp;2022.</p>
  216. <p><cite><em><a data-link-domain="culture.gouv.fr" href="https://www.culture.gouv.fr/Thematiques/Mecenat/Entreprises/Le-mecenat-en-nature-ou-en-competence">Source</a></em></cite></p>
  217. </blockquote>
  218. <p>Ce n’est donc <strong>pas un TJM</strong> mais un <em>coût de revient</em>.</p>
  219. <blockquote>
  220. <p>A la suite de l’adoption de la <a data-link-domain="legifrance.gouv.fr" href="https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000043964778">loi du 24&nbsp;août 2021&nbsp;confortant le respect des principes de la République</a>, l’administration fiscale a rappelé que <mark>la valorisation du don relève de la seule responsabilité de l’entreprise mécène</mark> qu’il s’agisse d’un don sous forme de biens (dons alimentaires notamment), de services ou d’une mise à disposition de personnel. Un <a data-link-domain="culture.gouv.fr" href="https://www.culture.gouv.fr/Media/Medias-creation-rapide/2041-mec-sd_4032.pdf">nouveau modèle de reçu fiscal</a> a été publié le 10&nbsp;juin&nbsp;2022.</p>
  221. </blockquote>
  222. <h2 id="avantages-fiscaux">Avantages fiscaux <a href="#avantages-fiscaux" title="Ancre vers cette partie">#</a></h2>
  223. <blockquote>
  224. <p>Le mécénat de compétences ouvre droit à un avantage fiscal. Concrètement, comme pour toute action de mécénat, le «&nbsp;don&nbsp;» de compétences de l’entreprise ouvrira droit à une réduction d’impôts de 60% du montant du salaire chargé du salarié mis à disposition. Cet avantage est accessible à tous les types d’entreprises, sans montant minimum de&nbsp;don.</p>
  225. <p><cite><em><a data-link-domain="economie.gouv.fr" href="https://www.economie.gouv.fr/files/Guide-pratique-mecenat-competences-novembre2021.pdf">Source</a></em></cite></p>
  226. </blockquote>
  227. <h2 id="modele">Modèle <a href="#modele" title="Ancre vers cette partie">#</a></h2><p>Un modèle de <a data-link-domain="culture.gouv.fr" href="https://www.culture.gouv.fr/Media/Medias-creation-rapide/Modele-de-convention-de-mecenat-d-entreprise.docx">convention de mécénat</a>, <a data-link-domain="associations.gouv.fr" href="https://www.associations.gouv.fr/IMG/pdf/asso_mecenat_2021_v1b.pdf">un autre</a> et <a data-link-domain="occitanie.developpement-durable.gouv.fr" href="https://www.occitanie.developpement-durable.gouv.fr/IMG/pdf/ex_convention_mecenat_competences_cle065a53.pdf">encore un autre</a>.</p>
  228. <p>En synthèse, il&nbsp;faut&nbsp;:</p>
  229. <h3>Les&nbsp;coordonnées</h3>
  230. <p>Entre&nbsp;:</p>
  231. <p>L’entreprise …, statut, dont le siège social est au …,<br />
  232. Représentée par …, fonction,<br />
  233. Ci-après dénommée «&nbsp;le&nbsp;mécène&nbsp;»,</p>
  234. <p>Et</p>
  235. <p>L’association …, sise au …,<br />
  236. Représentée par son Président (&#8239;?), …<br />
  237. Ci-après dénommée&nbsp;«&nbsp;l’association&nbsp;»,</p>
  238. <p>Vu la loi n°2003-79&nbsp;du 1<sup>er</sup> août 2003&nbsp;relative au mécénat, aux associations et aux fondations et notamment les dispositions codifiées à l’article 238&nbsp;bis du code général des&nbsp;impôts.</p>
  239. <h3>(optionnel) Préambule&nbsp;(contexte)</h3>
  240. <ul>
  241. <li>objet du mécénat de l’entreprise, de la&nbsp;fondation…</li>
  242. <li>objet de l’association&nbsp;: présentation de sa mission/vocation générale, et laïus sur le
  243. projet qu’ils portent en commun avec l’entreprise le cas&nbsp;échéant</li>
  244. <li>rencontre de ces deux&nbsp;objets&#8239;?</li>
  245. </ul>
  246. <h3>Ce qui est&nbsp;convenu</h3>
  247. <p>Il est convenu et décidé ce qui&nbsp;suit&nbsp;:</p>
  248. <ul>
  249. <li>La présente convention a pour objet de définir les conditions du soutien à l’association pour le projet suivant&nbsp;: (descriptif de l’action ou de la&nbsp;manifestation)</li>
  250. <li>L’entreprise mécène s’engage à mettre à disposition le personnel suivant&nbsp;: représentant une valeur de … € sur la période de&nbsp;…</li>
  251. </ul>
  252. <blockquote>
  253. <p>Pour valoriser ce mécénat de compétences, l’entreprise s’engage à comptabiliser et à valoriser le temps passé sur la mission sus nommée, soit le nombre d’heures passées x salaire horaire chargé (son commissaire aux comptes devra valider ce montant de salaire&nbsp;chargé).</p>
  254. <p>L’association pourra ainsi remettre à l’entreprise un reçu fiscal précisant le nombre d’heures et le coût équivalent donné à&nbsp;l’association.</p>
  255. <p>Conformément à l’article 238bis du code général des impôts, ce don en temps donnera droit à une réduction d’impôt égale à 60&#8239;% du montant des sommes versées dans la limite de 0,5% du C.A. HT.</p>
  256. </blockquote>
  257. <h3>Conditions</h3>
  258. <ul>
  259. <li>(optionnel / à adapter) L’association s’engage à faire figurer le nom de l’entreprise donatrice sur les supports d’information de l’action ou de la&nbsp;manifestation.</li>
  260. <li>La présente convention est établie en vertu des dispositions de l’article 238&nbsp;bis du&nbsp;CGI</li>
  261. <li>La présente convention prendra effet à sa date de signature et prendra fin le&nbsp;….</li>
  262. </ul>
  263. <p>Dans le cas où l’une des parties ne respecterait pas ses obligations contractuelles, cette convention serait résiliée de plein droit. En cas de litige, les parties conviennent d’une conciliation à&nbsp;l’amiable.</p>
  264. <h3>Signatures</h3>
  265. <p>Date, lieu et signatures&nbsp;:<br />
  266. A … le …<br />
  267. Représentant de l’entreprise / Représentant de&nbsp;l’association</p>
  268. <nav>
  269. <p>
  270. <a href="/david/2024/commun/"
  271. title="Liste de tous les articles 2024 associés à cette étiquette"
  272. rel="tag">#commun</a>
  273. <a href="/david/2024/documentation/"
  274. title="Liste de tous les articles 2024 associés à cette étiquette"
  275. rel="tag">#documentation</a>
  276. <a href="/david/2024/partage/"
  277. title="Liste de tous les articles 2024 associés à cette étiquette"
  278. rel="tag">#partage</a>
  279. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  280. </p>
  281. </nav>
  282. <h2>
  283. <a href="/david/2024/01/26/" title="Lien permanent vers cet article">Cargo</a> <time datetime="2024-01-26">26 janvier 2024</time>
  284. </h2>
  285. <blockquote lang="en">
  286. <p>I think the actual harm of signing git commits is to perpetuate an engineering culture of unquestioningly cargo-culting sophisticated and complex tools like cryptographic signatures into new contexts where they have no&nbsp;use.</p>
  287. <p>Just from a baseline utilitarian philosophical perspective, for a given action A, all else being equal, it’s always better not to do A, because taking an action always has some non-zero opportunity cost even if it is just the time taken to do it. Epsilon cost and zero benefit is still a net harm. This is even more true in the context of a complex system. Any action taken in response to a rule in a system is going to interact with all the other rules in that system. You have to pay complexity-rent on every new rule. <mark>So an apparently-useless embellishment like signing commits can have potentially far-reaching consequences in the&nbsp;future.</mark></p>
  288. <p><cite><em><a data-link-domain="blog.glyph.im" href="https://blog.glyph.im/2024/01/unsigned-commits.html" hreflang="en"
  289. title="Consultation de l’article (anglais)">Unsigned Commits</a>
  290. <a href="/david/cache/2024/ce5fdc61fd66cdb9ce548fb543eba986/" hreflang="en"
  291. data-tippy data-description="Deciphering Glyph, the blog of Glyph Lefkowitz."
  292. data-source="https://blog.glyph.im/2024/01/unsigned-commits.html"
  293. data-date="2024-01-25"
  294. data-favicon="https://blog.glyph.im/images/favicon.ico"
  295. data-domain="blog.glyph.im"
  296. ><svg xmlns="http://www.w3.org/2000/svg"
  297. width="24" height="24" viewBox="0 0 24 24" fill="none"
  298. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  299. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  300. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  301. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  302. </svg>
  303. <span class="sr-only">[archive]</span></a></em></cite></p>
  304. </blockquote>
  305. <p>J’avoue avoir sauté sur l’occasion lorsque j’en ai eu la possibilité avec <a data-link-domain="git-tower.com" href="https://www.git-tower.com/help/guides/integration/gpg/mac">mon client git</a> pour avoir le badge vert sur Microsoft GitHub et Gitlab sans trop me poser de questions. C’était peut-être une erreur et je vais faire mûrir ma réflexion maintenant qu’on m’a mis le nez&nbsp;dedans.</p>
  306. <p>Entre <em>refus de parvenir</em> et auto-défense&nbsp;numérique.</p>
  307. <a href="#hr-50" title="Lien vers cette section de la page"><hr id="hr-50" /></a>
  308. <blockquote>
  309. <p>Cette lutte ne créera pas un mouvement de masse…<br />
  310. Mais elle est un ingrédient, parmi de nombreuses autres luttes territoriales, qui toutes façonnent ces mêmes possibilités affectives…<br />
  311. Se sentir coïncider non pas avec soi-même mais avec un milieu de vie…<br />
  312. Se sentir maillé à un vaste collectif d’humains et de non-humains…<br />
  313. Des affects, qui constituent la nécessaire force motrice du mouvement que nous espérons voir&nbsp;croître.</p>
  314. <p><cite><em><a data-link-domain="puntish.blogspot.com" href="http://puntish.blogspot.com/2024/01/defendre-le-glacier-de-la-grave.html">Défendre le glacier de La&nbsp;Grave</a></em></cite></p>
  315. </blockquote>
  316. <p>La justesse d’Alessandro Pignocchi et les couleurs de ses&nbsp;aquarelles&nbsp;💚.</p>
  317. <a href="#hr-51" title="Lien vers cette section de la page"><hr id="hr-51" /></a>
  318. <blockquote lang="en">
  319. <p>Every time I have told someone “I want to replace PDF“, the statement has been met with extreme skepticism. Hopefully this document has convinced you that <mark>HTML-via-EPUB could potentially be a viable</mark> and desirable document format for the&nbsp;future.</p>
  320. <p><cite><em><a data-link-domain="willcrichton.net" href="https://willcrichton.net/notes/portable-epubs/" hreflang="en"
  321. title="Consultation de l’article (anglais)">Portable EPUBs</a>
  322. <a href="/david/cache/2024/ffaf50bf5d5e4cf870a618b518ee5ba7/" hreflang="en"
  323. data-tippy data-description="A proposal for the next generation of portable documents."
  324. data-source="https://willcrichton.net/notes/portable-epubs/"
  325. data-date="2024-01-25"
  326. data-favicon=""
  327. data-domain="willcrichton.net"
  328. ><svg xmlns="http://www.w3.org/2000/svg"
  329. width="24" height="24" viewBox="0 0 24 24" fill="none"
  330. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  331. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  332. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  333. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  334. </svg>
  335. <span class="sr-only">[archive]</span></a></em></cite></p>
  336. </blockquote>
  337. <p>Superbe initiative qui rappelle cruellement ce <a data-link-domain="xkcd.com" href="https://xkcd.com/927/">célèbre XKCD</a> mais qui m’est franchement bien plus utilisable qu’un PDF, quel que soit le lecteur… à part pour en récupérer la source avec mon extracteur maison. Cela me fait découvrir <a data-link-domain="nota-lang.org" href="https://nota-lang.org/">Nota</a> au&nbsp;passage.</p>
  338. <p>Un simple individu peut-il faire bouger des choses dans le&nbsp;domaine&#8239;?</p>
  339. <a href="#hr-52" title="Lien vers cette section de la page"><hr id="hr-52" /></a>
  340. <blockquote>
  341. <p>Les sites et outils numériques que je&nbsp;propose</p>
  342. <p><cite><em><a data-link-domain="eyssette.github.io" href="https://eyssette.github.io/">Cédric&nbsp;Eyssette</a></em></cite></p>
  343. </blockquote>
  344. <p>Beaucoup de belles et frugales choses (autour de markdown) à explorer sur cet&nbsp;espace.</p>
  345. <nav>
  346. <p>
  347. <a href="/david/2024/gratitude/"
  348. title="Liste de tous les articles 2024 associés à cette étiquette"
  349. rel="tag">#gratitude</a>
  350. <a href="/david/2024/partage/"
  351. title="Liste de tous les articles 2024 associés à cette étiquette"
  352. rel="tag">#partage</a>
  353. <a href="/david/2024/psychologie/"
  354. title="Liste de tous les articles 2024 associés à cette étiquette"
  355. rel="tag">#psychologie</a>
  356. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  357. </p>
  358. </nav>
  359. <form action="/david/recherche/" method="get">
  360. <fieldset>
  361. <legend>Recherche</legend>
  362. <label for="input-search">Termes de votre recherche :</label>
  363. <input id="input-search" type="search" name="s" aria-describedby="indexation-infos" required>
  364. <input type="submit" value="Chercher">
  365. <p id="indexation-infos">
  366. <small>
  367. Seuls les contenus de ces 8 dernières années sont indexés.
  368. </small>
  369. </p>
  370. </fieldset>
  371. </form>
  372. <aside>
  373. <theme-toggle></theme-toggle>
  374. </aside>
  375. </article>
  376. <hr>
  377. <footer>
  378. <p>
  379. <a href="/david/" title="Aller à l’accueil">Accueil</a>
  380. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  381. <a href="http://larlet.com"
  382. title="Go to my English profile"
  383. data-instant>Pro</a>
  384. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Email</a>
  385. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">Légal</abbr>
  386. </p>
  387. <template id="theme-selector">
  388. <form>
  389. <style type="text/css">
  390. fieldset div {
  391. text-align: center;
  392. }
  393. </style>
  394. <fieldset>
  395. <legend>Thème</legend>
  396. <div>
  397. <label>
  398. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  399. Auto
  400. </label>
  401. <label>
  402. <input type="radio" value="dark" name="chosen-color-scheme">
  403. Foncé
  404. </label>
  405. <label>
  406. <input type="radio" value="light" name="chosen-color-scheme">
  407. Clair
  408. </label>
  409. </div>
  410. </fieldset>
  411. </form>
  412. </template>
  413. </footer>
  414. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  415. <script>
  416. class ThemeToggle extends HTMLElement {
  417. constructor() {
  418. super()
  419. const themeSelectorTemplate = document.querySelector('#theme-selector')
  420. const form = themeSelectorTemplate.content.firstElementChild
  421. this.attachShadow({ mode: 'open' })
  422. this.shadowRoot.appendChild(form.cloneNode(true))
  423. }
  424. connectedCallback() {
  425. const form = this.shadowRoot.querySelector('form')
  426. form.addEventListener('change', (e) => {
  427. const chosenColorScheme = e.target.value
  428. localStorage.setItem('theme', chosenColorScheme)
  429. toggleTheme(chosenColorScheme)
  430. })
  431. const selectedTheme = localStorage.getItem('theme')
  432. if (selectedTheme && selectedTheme !== 'undefined') {
  433. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  434. }
  435. }
  436. }
  437. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  438. window.addEventListener('load', () => {
  439. let colorsLayer = undefined
  440. let hasDarkRules = false
  441. for (const styleSheet of Array.from(document.styleSheets)) {
  442. let mediaRules = []
  443. for (const layerRule of styleSheet.cssRules) {
  444. if (!(layerRule instanceof CSSLayerBlockRule)) {
  445. continue
  446. }
  447. if (layerRule.name === 'colors') {
  448. colorsLayer = layerRule
  449. }
  450. for (const cssRule of layerRule.cssRules) {
  451. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  452. continue
  453. }
  454. // WARNING: Safari does not have/supports `conditionText`.
  455. if (cssRule.conditionText) {
  456. if (cssRule.conditionText !== prefersColorSchemeDark) {
  457. continue
  458. }
  459. } else {
  460. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  461. continue
  462. }
  463. }
  464. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  465. }
  466. }
  467. // WARNING: do not try to insert a Rule to a styleSheet you are
  468. // currently iterating on, otherwise the browser will be stuck
  469. // in a infinite loop…
  470. for (const mediaRule of mediaRules) {
  471. // Safari requires the `0` second parameter (even if default).
  472. colorsLayer.insertRule(mediaRule.cssText, 0)
  473. hasDarkRules = true
  474. }
  475. }
  476. if (hasDarkRules) {
  477. if ('customElements' in window && !customElements.get('theme-toggle')) {
  478. customElements.define('theme-toggle', ThemeToggle)
  479. }
  480. }
  481. })
  482. </script>
  483. </body>
  484. </html>