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.xml 158KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <?xml-stylesheet href="/david/log/feed.xsl" type="text/xsl"?>
  3. <feed xmlns="http://www.w3.org/2005/Atom">
  4. <title>David Larlet</title>
  5. <subtitle>Dernières mises à jour du site</subtitle>
  6. <link href="https://larlet.fr/david/" rel="alternate" type="text/html" />
  7. <link href="https://larlet.fr/david/log/" rel="self" />
  8. <id>https://larlet.fr/david/</id>
  9. <updated>2024-04-18T12:00:00+01:00</updated>
  10. <author>
  11. <name>David Larlet</name>
  12. <uri>https://larlet.fr/david/</uri>
  13. </author>
  14. <rights>Copyright (c) 2004-2024, David Larlet</rights>
  15. <entry xml:lang="fr">
  16. <title type="html">Échelle</title>
  17. <link href="https://larlet.fr/david/2024/04/17/" rel="alternate" type="text/html" />
  18. <updated>2024-04-17T12:00:00+01:00</updated>
  19. <id>https://larlet.fr/david/2024/04/17/</id>
  20. <summary type="html">
  21. &lt;blockquote lang=&quot;en&quot;&gt;
  22. &lt;p&gt;We have been obsessed with this scalability as the single differentiating factor that will tell us how well something will adapt to the changing requirements of an organization and increasing, diverse technical demand. But for businesses, scaling means that output remains the same or only slightly degrades while production costs&amp;nbsp;lower.&lt;/p&gt;
  23. &lt;p&gt;&lt;mark&gt;Scalability has become the leading differentiator, the Leitdifferenz, of almost everything in our industry.&lt;/mark&gt; From the tech we develop with, for, and on to what, how, and who we design for It’s almost like a trance that we keep repeating to ourselves.“But will it scale?” is first and foremost a matter of business. But in development and design, it also refers to other factors. Yet when it comes to matters of industrialization, these factors remain&amp;nbsp;secondary.&lt;/p&gt;
  24. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://helloyes.dev/blog/2023/craft-vs-industry/&quot;&gt;Craft vs Industry: Separating&amp;nbsp;Concerns&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  25. &lt;/blockquote&gt;
  26. &lt;p&gt;C’est la raison pour laquelle je suis de plus en plus attiré par de petits évènements (voir ci-dessous) qui peuvent avoir lieu dans des endroits différents —&amp;nbsp;de manière distribuée&amp;nbsp;— par des communautés qui peuvent y mettre leurs propres échelles pour embarquer de nouvelles&amp;nbsp;personnes.&lt;/p&gt;
  27. &lt;hr /&gt;
  28. &lt;blockquote lang=&quot;en&quot;&gt;
  29. &lt;p&gt;I don’t think we &lt;em&gt;need&lt;/em&gt; new metaphors for the things we do with computers. But I like thinking about &lt;mark&gt;creating software as organizing an event.&lt;/mark&gt; Here are some reasons why I think &lt;em&gt;event&lt;/em&gt; is a better metaphor than &lt;em&gt;product&lt;/em&gt;:&lt;/p&gt;
  30. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://www.kooslooijesteijn.net/blog/app-website-is-not-product&quot;&gt;Your app is not a&amp;nbsp;product&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  31. &lt;/blockquote&gt;
  32. &lt;p&gt;Je ne vais pas énumérer toute la liste ici mais il y a de bonnes choses à aller picorer pour alimenter mes propres réflexions à ce&amp;nbsp;sujet.&lt;/p&gt;
  33. &lt;hr /&gt;
  34. &lt;blockquote lang=&quot;en&quot;&gt;
  35. &lt;p&gt;Ecology knows that shifting baselines dampen collective urgency and deepen generational divides. People who care about internet monoculture and control are often told they’re nostalgists harkening back to a pioneer era. But it’s fiendishly hard to regenerate an open and competitive infrastructure for younger generations who’ve been raised to assume that two or three platforms, two app stores, two operating systems, two browsers, one cloud/mega-store and a single search engine for the world comprise the internet. If &lt;em&gt;the internet&lt;/em&gt; for you is the massive sky-scraping silo you happen to live inside and the only thing you can see outside is the single, other massive sky-scraping silo, then &lt;mark&gt;how can you imagine anything&amp;nbsp;else?&lt;/mark&gt;&lt;/p&gt;
  36. &lt;p&gt;[…] For tech giants, the long period of open internet evolution is over. Their internet is not an ecosystem. It’s a&amp;nbsp;zoo.&lt;/p&gt;
  37. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://www.noemamag.com/we-need-to-rewild-the-internet/&quot;&gt;We Need To Rewild The&amp;nbsp;Internet&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  38. &lt;/blockquote&gt;
  39. &lt;p&gt;Ce troisième lien est lui aussi une métaphore, combinant &lt;em&gt;forêt&lt;/em&gt; et &lt;em&gt;web&lt;/em&gt;. Lorsqu’on constate ce qu’il advient de nos forêts, je ne sais pas trop s’il est possible d’être optimiste à ce&amp;nbsp;sujet…&lt;/p&gt;
  40. &lt;hr /&gt;
  41. &lt;blockquote&gt;
  42. &lt;p&gt;Nous sommes un groupe d’étudiants dans les métiers du multimédia et de l’Internet. Pourtant nous n’avons pas numérisé. Il y a un an, &lt;mark&gt;nous nous empressions&lt;/mark&gt; de faire une solution numérique éco conçue pour répondre à un&amp;nbsp;problème.&lt;/p&gt;
  43. &lt;p&gt;Aujourd’hui, avec du recul, des connaissances supplémentaires et une nouvelle vision, nous nous demandons s’il est nécessaire de&amp;nbsp;numériser.&lt;/p&gt;
  44. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://nousnavonspasnumerise.mmibordeaux.com/autopsie/&quot;&gt;Nous n’avons pas&amp;nbsp;numérisé.&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  45. &lt;/blockquote&gt;
  46. &lt;p&gt;Un peu d’espoir tout de&amp;nbsp;même.&lt;/p&gt;
  47. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/commun/&quot;&gt;#commun&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/decentralisation/&quot;&gt;#décentralisation&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/protopie/&quot;&gt;#protopie&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  48. </entry>
  49. <entry xml:lang="fr">
  50. <title type="html">Apex 2</title>
  51. <link href="https://larlet.fr/david/2024/04/14/" rel="alternate" type="text/html" />
  52. <updated>2024-04-14T12:00:00+01:00</updated>
  53. <id>https://larlet.fr/david/2024/04/14/</id>
  54. <summary type="html">
  55. &lt;p&gt;&lt;em&gt;Bon allez, retour &lt;a href=&quot;https://larlet.fr/david/2024/03/14/&quot;&gt;après un mois&lt;/a&gt;, autant dire que je manque de&amp;nbsp;recul.&lt;/em&gt;&lt;/p&gt;
  56. &lt;p&gt;Je l’ai porté tous les jours, et même la nuit, ce qui ne m’était jamais arrivé auparavant. C’est à la fois la légèreté (42&amp;nbsp;grammes&amp;#8239;!) et le bracelet très confortable (et qui sèche vite) qui permettent cela. La possibilité d’inverser le cadran de la montre pour avoir les boutons à l’opposé du poignet me correspond bien dans mes peurs à ce niveau là aussi. Côté ergonomie, j’adore qu’il n’y ait que 3&amp;nbsp;boutons, la roulette est un peu lente à mon goût par&amp;nbsp;contre.&lt;/p&gt;
  57. &lt;p&gt;Niveau motivation, je m’y attendais mais pas dans cette proportion là, j’ai fait énormément de sport(s) ce dernier mois. J’ai enregistré une cinquantaine d’activités mais je consigne aussi les aller-retours à l’école en vélo car je voulais vraiment identifier les moments de «&amp;nbsp;récupération active&amp;nbsp;». Il y en a d’autres que j’ai loupé donc ça compense. J’ai redécouvert ma &lt;em&gt;pain cave&lt;/em&gt; à cette occasion mais ça fera l’objet d’un billet distinct. J’ai redécouvert mes douleurs d’usure&amp;nbsp;aussi…&lt;/p&gt;
  58. &lt;p&gt;Je suis surpris qu’il n’y ait pas un mode pour générer des activités &lt;em&gt;a posteriori&lt;/em&gt; vu que tout est consigné au quotidien, même avec une fréquence de rafraichissement moindre qu’en effort explicite ça serait intéressant pour éviter d’avoir à y penser. Encore plus surprenant&amp;nbsp;: il n’est pas possible de changer un type d’activité après coup, ce qui me serait très utile quand je suis avec l’enfant car je ne sais jamais quand une marche va se transformer en course (et &lt;em&gt;vice versa&lt;/em&gt;).&lt;/p&gt;
  59. &lt;p&gt;Le GPS est suffisamment précis pour mon usage (vs. double fréquence), ce qui m’avait beaucoup fait hésité avec la version Pro. Je suis très content d’avoir parié sur des taille / poids qui me conviennent davantage. En contrepartie, la batterie tient pour 2 &lt;a href=&quot;https://larlet.fr/david/2024/03/29/&quot;&gt;longs&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/03/30/&quot;&gt;jours&lt;/a&gt; de randonnée, pas beaucoup plus. Un câble de plus à transporter, c’est acceptable. Niveau orientation, c’est pas mal fait, chaque déviation émet un son+vibration avec la distance et le chemin / direction pour rattraper. Je n’ai pas trouvé / cherché s’il était possible de lui dire que la déviation était intentionnelle en cours d’exercice. J’ai la crainte que ça sonne à un moment où je suis un animal selon le contexte… probablement un paramètre à&amp;nbsp;trouver.&lt;/p&gt;
  60. &lt;p&gt;J’ai redécouvert les zones d’effort, le seuil, la VMA, la charge d’entrainement et toutes ces choses là. C’était geekement plaisant de jouer avec ces données. Il y aussi celles relatives au sommeil qui me font réfléchir (pendant les insomnies par&amp;nbsp;exemple&amp;nbsp;🙃).&lt;/p&gt;
  61. &lt;blockquote&gt;
  62. &lt;p&gt;Il faut que j’apprenne à ne pas courir &lt;em&gt;contre&lt;/em&gt; mais &lt;em&gt;avec&lt;/em&gt; la montre. &lt;mark&gt;J’ai trop tendance à pousser&lt;/mark&gt; alors qu’elle sait bien à mon poignet que mon cœur ne va pas&amp;nbsp;suivre.&lt;/p&gt;
  63. &lt;p&gt;Il y a du travail à faire pour transformer un jugement en&amp;nbsp;allié.&lt;/p&gt;
  64. &lt;p&gt;&lt;cite&gt;&lt;a href=&quot;https://larlet.fr/david/2024/03/14/&quot;&gt;Auto-citation&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
  65. &lt;/blockquote&gt;
  66. &lt;p&gt;Bon sur ce plan là, je n’ai pas été très bon. J’ai l’impression de ne pas attendre suffisamment entre deux efforts &lt;em&gt;et&lt;/em&gt; en même temps il y a un autre panneau qui donne le moment optimal pour retourner s’entrainer et qui contredit celui-ci. Il faut que je prenne le temps de mieux me réécouter à ce&amp;nbsp;niveau.&lt;/p&gt;
  67. &lt;figure&gt;
  68. &lt;a href=&quot;https://larlet.fr/static/david/2024/2024-04-14-recuperation.jpg&quot;
  69. title=&quot;Cliquer pour une version haute résolution&quot;&gt;
  70. &lt;img
  71. src=&quot;https://larlet.fr/static/david/2024/2024-04-14-recuperation.jpg&quot;
  72. width=&quot;960&quot; height=&quot;2079&quot;
  73. srcset=&quot;/static/david/2024/2024-04-14-recuperation.jpg 960w, /static/david/2024/2024-04-14-recuperation_660x440.jpg 660w, /static/david/2024/2024-04-14-recuperation_990x660.jpg 990w, /static/david/2024/2024-04-14-recuperation_1320x880.jpg 1320w&quot;
  74. sizes=&quot;min(100vw, calc(100vh * 960 / 2079))&quot;
  75. loading=&quot;lazy&quot;
  76. decoding=&quot;async&quot;
  77. alt=&quot;Panneau de Récupération de l’application COROS.&quot;&gt;
  78. &lt;/a&gt;
  79. &lt;figcaption&gt;Suis-je vraiment en situation de fatigue / à 50% de mes capacités sur la majorité de mes sessions&amp;nbsp;?!&lt;/figcaption&gt;
  80. &lt;/figure&gt;
  81. &lt;p&gt;Je suis frustré par les capacités limitées de récupération des données (automatisée). J’ai le sentiment qu’il faut passer par une autre plateforme tierce, ou synchroniser à des «&amp;nbsp;services&amp;nbsp;» comme Strava, pour y avoir accès et ça me frustre. Je &lt;a href=&quot;https://larlet.fr/david/2024/03/19/#hr-124&quot;&gt;l’évoquais par ici&lt;/a&gt;. Sur des données de santé, ça me fait bien suer de sortir des serveurs de collecte que je tolère déjà à moitié. Autre déception&amp;nbsp;: ces outils sont vraiment faits pour être personnels et il n’y a pas de mode «&amp;nbsp;prêt&amp;nbsp;» pour une activité. La seule option trouvée pour ne pas fausser les statistiques personnelles semble être de supprimer l’activité après avoir récupéré les&amp;nbsp;données.&lt;/p&gt;
  82. &lt;p&gt;Le prédic(a)teur de course qui m’annonçait initialement un marathon à 5h, j’avoue, ça pique un peu. Et peut-être que ça a participé à ma motivation aussi&amp;nbsp;🤷. On apprend à mutuellement se connaître, on verra dans six mois une fois les courbes&amp;nbsp;stabilisées.&lt;/p&gt;
  83. &lt;p&gt;Niveau montre connectée, je pensais désactiver les notifications dès le premier jour et en fait c’est assez pratique pour trier ce qui est de l’information et ce qui demande une interaction. C’est sûr que je pourrais mieux filtrer à la base mais la plupart des outils ne permettent pas d’avoir une telle granularité. Cela m’a d’une certaine manière éloigné de mon temps d’écran de téléphone (un peu moins) indispensable. J’apprécie de pouvoir mettre des alarmes qui vibrent et qui ne dérangent vraiment que moi, surtout pour les&amp;nbsp;réveils.&lt;/p&gt;
  84. &lt;p&gt;J’ai fait trois &lt;a href=&quot;https://larlet.fr/david/2024/04/07/&quot;&gt;séances&lt;/a&gt; de &lt;a href=&quot;https://larlet.fr/david/2024/04/10/#hr-146&quot;&gt;piscine&lt;/a&gt; pour l’instant et c’est vraiment chouette d’avoir des chiffres à ce sujet, je pense que ça peut m’aider à progresser dans ce domaine. Je n’ai pas suffisamment repris le vélo pour voir si c’est pertinent dans ce contexte aussi. C’est une montre qui est quand même très orientée course dans l’ensemble, le couplage avec un &lt;a href=&quot;https://coros.ca/coros-pod2&quot;&gt;Pod 2&lt;/a&gt; est probablement un moyen d’aller plus loin dans l’amélioration de la foulée notamment. À voir si je creuse cet aspect, j’ai déjà de quoi&amp;nbsp;faire.&lt;/p&gt;
  85. &lt;p&gt;Je ne sais toujours pas à quoi cela sert de connaître le nombre de ses pas &lt;em&gt;estimés&lt;/em&gt; par jour. Encore moins le nombre d’étages… les &lt;em&gt;watchfaces&lt;/em&gt; par contre c’est marrant (au début&amp;#8239;?). Dans l’ensemble ça dépasse mes attentes qui étaient assez élevée, c’est rare. N’hésitez pas si vous avez des questions spécifiques auxquelles je peux&amp;nbsp;répondre.&lt;/p&gt;
  86. &lt;blockquote&gt;
  87. &lt;p&gt;&lt;em&gt;[Aujourd’hui, en allant à la piscine en courant]&lt;/em&gt;&lt;br /&gt;
  88. — Pfiou, j’ai pas encore bien récupéré depuis vendredi…&lt;br /&gt;
  89. — Ah je me disais bien que tu étais à la traîne, je pensais que c’était juste la vieillesse.&lt;br /&gt;
  90. —&amp;nbsp;🫠&lt;/p&gt;
  91. &lt;/blockquote&gt;
  92. &lt;p&gt;Difficile de vivre avec un &lt;del&gt;athlète élite&lt;/del&gt; enfant de 10&amp;nbsp;ans&amp;nbsp;parfois.&lt;/p&gt;
  93. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/enthousiasme/&quot;&gt;#enthousiasme&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/laboratoire/&quot;&gt;#laboratoire&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/sport/&quot;&gt;#sport&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  94. </entry>
  95. <entry xml:lang="fr">
  96. <title type="html">Fondation</title>
  97. <link href="https://larlet.fr/david/2024/04/13/" rel="alternate" type="text/html" />
  98. <updated>2024-04-13T12:00:00+01:00</updated>
  99. <id>https://larlet.fr/david/2024/04/13/</id>
  100. <summary type="html">
  101. &lt;blockquote&gt;
  102. &lt;p&gt;— A mesure que Trantor devient plus spécialisée, dit Gaal, elle devient plus vulnérable, moins apte à se défendre. Qui plus est, à mesure que s’y développe l’administration centrale de l’Empire, la planète devient une proie plus enviable. Étant donné les difficultés croissantes que soulève le problème de la succession impériale, les querelles toujours plus violentes qui opposent les grandes familles les unes aux autres, le sentiment de la responsabilité envers la société va s’affaiblissant.&lt;br /&gt;
  103. — C’est suffisant. Et quelles sont les probabilités numériques de destruction totale d’ici trois siècles&amp;#8239;?&lt;br /&gt;
  104. — Je ne saurais vous le dire.&lt;br /&gt;
  105. — […] Le chiffre exact est 92,5&amp;#8239;%.&lt;br /&gt;
  106. — Voilà donc pourquoi on vous appelle Cassandre Seldon, dit Gaal. Je n’ai rien vu de tout cela dans les publications scientifiques.&lt;br /&gt;
  107. — On ne peut pas publier des choses pareilles, voyons. &lt;mark&gt;Vous ne pensez tout de même pas que l’Empire irait révéler ainsi sa faiblesse.&lt;/mark&gt; C’est la base de la psychohistoire la plus&amp;nbsp;élémentaire.&lt;/p&gt;
  108. &lt;p&gt;&lt;cite&gt;&lt;em&gt;Fondation 1&lt;/em&gt;, Isaac Asimov, traduit de l’américain par Jean Rosenthal et Pierre Billon, complété et harmonisé par Philippe&amp;nbsp;Gindre&lt;/cite&gt;&lt;/p&gt;
  109. &lt;/blockquote&gt;
  110. &lt;p&gt;Après un &lt;a href=&quot;https://larlet.fr/david/2024/02/06/&quot;&gt;séjour en terre du milieu&lt;/a&gt;, me voici sur &lt;em&gt;Trantor&lt;/em&gt;. Je ne l’ai jamais lu mais c’est la série TV qui m’a donné envie de&amp;nbsp;creuser.&lt;/p&gt;
  111. &lt;p&gt;L’interprétation de ce passage est laissée comme&amp;nbsp;exercice.&lt;/p&gt;
  112. &lt;blockquote&gt;
  113. &lt;p&gt;D’après une ou deux personnes bien informées, je suis un genre de geek de tout. Un Sheldon en herbe, mais&amp;nbsp;sociable.&lt;/p&gt;
  114. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://nota-bene.org/Geek-de-tout&quot;&gt;Geek de tout |&amp;nbsp;nota-bene.org&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  115. &lt;/blockquote&gt;
  116. &lt;hr /&gt;
  117. &lt;blockquote lang=&quot;en&quot;&gt;
  118. &lt;p&gt;I’ve found I personally have three &lt;em&gt;states&lt;/em&gt; of&amp;nbsp;being…&lt;/p&gt;
  119. &lt;ul&gt;
  120. &lt;li&gt;&lt;strong&gt;Hyperfocus&lt;/strong&gt;, where I’m deeply focused on one thing and phenomenally&amp;nbsp;productive.&lt;/li&gt;
  121. &lt;li&gt;&lt;strong&gt;Physical&lt;/strong&gt;, where I have lots of energy, but little mental&amp;nbsp;focus.&lt;/li&gt;
  122. &lt;li&gt;&lt;strong&gt;Burnt out&lt;/strong&gt;, where both my mental and physical energy are&amp;nbsp;low.&lt;/li&gt;
  123. &lt;/ul&gt;
  124. &lt;p&gt;Your states of being might be different. These are three I tend to operate in most&amp;nbsp;frequently.&lt;/p&gt;
  125. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://adhdftw.com/follow-your-adhd-flow/&quot;&gt;Follow your ADHD&amp;nbsp;flow&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  126. &lt;/blockquote&gt;
  127. &lt;p&gt;Peut-être que cette notion de &lt;a href=&quot;https://larlet.fr/david/2024/03/08/&quot;&gt;flow&lt;/a&gt; n’est pas si anodine en fait&amp;nbsp;🤔. La communauté sur Discord évoque notamment l’importance de l’exercice comme outil de canalisation et &lt;a href=&quot;https://larlet.fr/david/2024/04/14/&quot;&gt;ce dernier mois&lt;/a&gt; je ne peux que constater à quel point c’est vrai &lt;em&gt;pour moi&lt;/em&gt;. J’ai un peu de mal avec les étiquettes d’auto-défintion/enfermement mais je constate aussi que pour beaucoup de personnes cela permet de reconsidérer ses propres fondations pour s’accepter et mieux se re·connaître&amp;nbsp;ainsi.&lt;/p&gt;
  128. &lt;p&gt;Une identité n’est pas une suite d’acronymes mais plutôt une suite d’explorations et de compréhensions de ce que signifient ces acronymes dans sa propre façon&amp;nbsp;d’être&amp;#8239;?&lt;/p&gt;
  129. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/dystopie/&quot;&gt;#dystopie&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/lecture/&quot;&gt;#lecture&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/psychologie/&quot;&gt;#psychologie&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  130. </entry>
  131. <entry xml:lang="fr">
  132. <title type="html">Weird</title>
  133. <link href="https://larlet.fr/david/2024/04/10/" rel="alternate" type="text/html" />
  134. <updated>2024-04-10T12:00:00+01:00</updated>
  135. <id>https://larlet.fr/david/2024/04/10/</id>
  136. <summary type="html">
  137. &lt;blockquote lang=&quot;en&quot;&gt;
  138. &lt;p&gt;&lt;em&gt;Say the weird&amp;nbsp;thing.&lt;/em&gt;&lt;/p&gt;
  139. &lt;p&gt;Okay, I’ll&amp;nbsp;play.&lt;/p&gt;
  140. &lt;p&gt;The self is an&amp;nbsp;illusion.&lt;/p&gt;
  141. &lt;p&gt;I’m a meat sack with electricity flying through&amp;nbsp;space.&lt;/p&gt;
  142. &lt;p&gt;I am the natural consequence of every action from the Big Bang to&amp;nbsp;today.&lt;/p&gt;
  143. &lt;p&gt;I don’t have free&amp;nbsp;will.&lt;/p&gt;
  144. &lt;p&gt;Most of what my brain does is done in the dark of my attention and even when I am making conscious choices I did not choose to become the type of person who would choose that choice over&amp;nbsp;another.&lt;/p&gt;
  145. &lt;p&gt;We created god because we got smart enough to realize that we were gonna die. Evolution rewarded religion because dogmatic bonded communities with a shared myth had ways of tending to one another in ways that other tribes&amp;nbsp;didn’t.&lt;/p&gt;
  146. &lt;p&gt;We are the product of superstitious ancestors who survived better because they believed in supernatural elements and that they made them more likely to&amp;nbsp;survive.&lt;/p&gt;
  147. &lt;p&gt;All we know is that there is consciousness and we are no closer to solving the hard problem of consciousness than when we first phrased it. And objects and consciousness which we cannot know if they are real because our brain is limited by its own perception of reality. And when we try to observe what is real, what is real&amp;nbsp;changes.&lt;/p&gt;
  148. &lt;p&gt;Our brain is doing so much that it created shortcuts so that you are not aware of most of it. And our brains are so wired into towards culting that even when we leave religion, we create a religion out of whatever our thing is: astrology, politics, whatever.&lt;/p&gt;
  149. &lt;p&gt;These evolutionary shortcuts worked when we were small tribes but now that our trews are bumping into each other, it will be the machine that destroys&amp;nbsp;ourselves.&lt;/p&gt;
  150. &lt;p&gt;We have a 180&amp;nbsp;catalog brain biases that tends towards simplicity over complexity, loyalty to our tribes, the illusion of the self and all of that is not compatible to what we know about the modern&amp;nbsp;world.&lt;/p&gt;
  151. &lt;p&gt;Anyone who accepts all this will inevitably be alone. There is a lot of lip service to leaving the matrix but in reality it’s very&amp;nbsp;lonely.&lt;/p&gt;
  152. &lt;p&gt;The machine of evolution that says to survive at all costs and all of the shortcuts that created that survival will eventually be a machine that eats itself. Individuals can remove themselves to some degree but &lt;mark&gt;if you try to change the world, you will inevitably become a cult and you will become the monster that you were trying to&amp;nbsp;destroy.&lt;/mark&gt;&lt;/p&gt;
  153. &lt;p&gt;And even with all of that, there’s a way to structure with meaning and purpose and experiencing being, and being able to pop your head up in this universe, and check out what is going on where you still are glad you got to be alive, and it probably takes a little bit of privilege because you have to die so many times to get there and it’s very&amp;nbsp;hard.&lt;/p&gt;
  154. &lt;p&gt;And in the end the only benefit that you get is that you know that you’re playing in reality which is little more than a shared hallucination rather than being in a delusion and not knowing that you&amp;nbsp;are.&lt;/p&gt;
  155. &lt;p&gt;Invite me to your next party! ✌️&lt;/p&gt;
  156. &lt;p&gt;&lt;cite&gt;@nononsensespirituality, &lt;a href=&quot;https://mamot.fr/@jcfrog/112245851038854526&quot;&gt;via masto&lt;/a&gt;, que l’on retrouve &lt;a href=&quot;https://www.instagram.com/nononsensespirituality/reel/C5SRDzTLqAh/&quot;&gt;aussi sur&amp;nbsp;Instagram&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
  157. &lt;/blockquote&gt;
  158. &lt;p&gt;Bienvenue dans mon cerveau&amp;nbsp;😅.&lt;/p&gt;
  159. &lt;hr /&gt;
  160. &lt;blockquote&gt;
  161. &lt;p&gt;The Swolf is a composite measurement in sports swimming that reflects how fast and &lt;mark&gt;how efficiently somebody is swimming.&lt;/mark&gt; In contrast, time per distance (speed) neglects swimming technique, and the number of swimming strokes per lap neglects the purpose of competitive swimming: Covering a given distance in the shortest&amp;nbsp;time.&lt;/p&gt;
  162. &lt;p&gt;&lt;cite&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Swolf&quot;&gt;Swolf&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
  163. &lt;/blockquote&gt;
  164. &lt;p&gt;Découverte du jour grâce à la montre&amp;nbsp;: la mesure du Swolf en natation. Voilà un calcul qui m’intéresse davantage que la&amp;nbsp;vitesse.&lt;/p&gt;
  165. &lt;p&gt;J’ai fait mon premier kilomètre (avec pauses) de l’année. Mon Swolf actuel a l’air de tourner autour de 40-45&amp;nbsp;lorsque je ne suis pas trop dérangé par les autres nageur·euses, on va voir si ça évolue ces prochains&amp;nbsp;mois.&lt;/p&gt;
  166. &lt;hr /&gt;
  167. &lt;blockquote&gt;
  168. &lt;p&gt;The other maintainer suddenly&amp;nbsp;disappeared.&lt;/p&gt;
  169. &lt;p&gt;&lt;cite&gt;&lt;a href=&quot;https://github.com/tukaani-project/xz/commit/77a294d98a9d2d48f7e4ac273711518bf689f5c4&quot;&gt;Update maintainer and author&amp;nbsp;info.&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
  170. &lt;/blockquote&gt;
  171. &lt;p&gt;Le &lt;em&gt;commit&lt;/em&gt; du&amp;nbsp;jour.&lt;/p&gt;
  172. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/communaute/&quot;&gt;#communauté&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/poesie/&quot;&gt;#poésie&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/psychologie/&quot;&gt;#psychologie&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  173. </entry>
  174. <entry xml:lang="fr">
  175. <title type="html">Éclipse</title>
  176. <link href="https://larlet.fr/david/2024/04/08/" rel="alternate" type="text/html" />
  177. <updated>2024-04-08T12:00:00+01:00</updated>
  178. <id>https://larlet.fr/david/2024/04/08/</id>
  179. <summary type="html">
  180. &lt;p&gt;Il y a l’éclipse et puis il y a toute l’ambiance autour. Je crois que c’est ce qui m’a le plus marqué, cet émerveillement doublé d’un enthousiasme collectif. Lorsque tout le monde retire les lunettes ou même un peu avant lorsque la lumière change et que l’on voit un coucher (??) de soleil en version accéléré qui s’avance vers nous en pleine&amp;nbsp;après-midi.&lt;/p&gt;
  181. &lt;p&gt;L’éclipse totale était censée être de 1&amp;#8239;min 45&amp;#8239;sec à ma position mais alors en ressenti derrière l’objectif c’était du 20&amp;nbsp;secondes&amp;#8239;! À peine le temps de réduire au maximum l’exposition et de déclencher. J’avais fait une mise au point sur un avion au préalable et j’étais passé en manuel mais c’était stupide et ça a rendu floues toutes les photos… jusqu’aux deux dernières. Coup de bol d’avoir pris le temps de tester l’autofocus en sentant venir la&amp;nbsp;fin.&lt;/p&gt;
  182. &lt;figure&gt;
  183. &lt;a href=&quot;https://larlet.fr/static/david/2024/2024-04-08-eclipse-1.jpg&quot;
  184. title=&quot;Cliquer pour une version haute résolution&quot;&gt;
  185. &lt;img
  186. src=&quot;https://larlet.fr/static/david/2024/2024-04-08-eclipse-1.jpg&quot;
  187. width=&quot;2000&quot; height=&quot;2000&quot;
  188. srcset=&quot;/static/david/2024/2024-04-08-eclipse-1.jpg 2000w, /static/david/2024/2024-04-08-eclipse-1_660x440.jpg 660w, /static/david/2024/2024-04-08-eclipse-1_990x660.jpg 990w, /static/david/2024/2024-04-08-eclipse-1_1320x880.jpg 1320w&quot;
  189. sizes=&quot;min(100vw, calc(100vh * 2000 / 2000))&quot;
  190. loading=&quot;lazy&quot;
  191. decoding=&quot;async&quot;
  192. alt=&quot;Le moment de l’éclipse où la lune passe totalement devant le soleil.&quot;&gt;
  193. &lt;/a&gt;
  194. &lt;figcaption&gt;J’étais tellement content de découvrir des éruptions solaires au développement&amp;nbsp;!&lt;/figcaption&gt;
  195. &lt;/figure&gt;
  196. &lt;p&gt;En étant sur la fin, cela permet d’être vraiment à la limite de la couronne solaire et de photographier un phénomène que je ne pensait pas possible avec mon&amp;nbsp;matériel.&lt;/p&gt;
  197. &lt;p&gt;Et puis, il y a ce moment où l’hystérie collective redevient sérieuse car il faut remettre les lunettes et prendre le temps de se demander ce qu’il vient de se&amp;nbsp;passer.&lt;/p&gt;
  198. &lt;figure&gt;
  199. &lt;a href=&quot;https://larlet.fr/static/david/2024/2024-04-08-eclipse-2.jpg&quot;
  200. title=&quot;Cliquer pour une version haute résolution&quot;&gt;
  201. &lt;img
  202. src=&quot;https://larlet.fr/static/david/2024/2024-04-08-eclipse-2.jpg&quot;
  203. width=&quot;3840&quot; height=&quot;2560&quot;
  204. srcset=&quot;/static/david/2024/2024-04-08-eclipse-2.jpg 3840w, /static/david/2024/2024-04-08-eclipse-2_660x440.jpg 660w, /static/david/2024/2024-04-08-eclipse-2_990x660.jpg 990w, /static/david/2024/2024-04-08-eclipse-2_1320x880.jpg 1320w&quot;
  205. sizes=&quot;min(100vw, calc(100vh * 3840 / 2560))&quot;
  206. loading=&quot;lazy&quot;
  207. decoding=&quot;async&quot;
  208. alt=&quot;Le moment de l’éclipse où la lune va découvrir le soleil.&quot;&gt;
  209. &lt;/a&gt;
  210. &lt;figcaption&gt;En mode halo au développement car c’est quand même&amp;nbsp;sympa.&lt;/figcaption&gt;
  211. &lt;/figure&gt;
  212. &lt;p&gt;Fait étonnant, quelques petites minutes après l’apogée, on voyait un avion et surtout son ombre projetée de manière inhabituelle. J’ai l’intuition qu’il était dans une zone qui n’arrive jamais en temps normal car cet angle lumineux n’est pas possible. J’aurais dû prendre une photo pour pouvoir faire des calculs à ce&amp;nbsp;sujet.&lt;/p&gt;
  213. &lt;hr /&gt;
  214. &lt;p&gt;Aussi, je suis en train de regarder &lt;a href=&quot;https://en.wikipedia.org/wiki/3_Body_Problem_(TV_series&quot;&gt;3&amp;nbsp;Body Problem&lt;/a&gt;).&lt;/p&gt;
  215. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/enthousiasme/&quot;&gt;#enthousiasme&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/experience/&quot;&gt;#expérience&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/photographie/&quot;&gt;#photographie&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  216. </entry>
  217. <entry xml:lang="fr">
  218. <title type="html">Piscine</title>
  219. <link href="https://larlet.fr/david/2024/04/07/" rel="alternate" type="text/html" />
  220. <updated>2024-04-07T12:00:00+01:00</updated>
  221. <id>https://larlet.fr/david/2024/04/07/</id>
  222. <summary type="html">
  223. &lt;p&gt;Il est tellement difficile de se remettre à nager. La première séance de l’année est toujours une agonie. Cent mètres, les bras qui brûlent et le souffle court. Cinq cent et déjà incapable d’aller plus loin. Heureusement que c’est le même rituel chaque année… et la promesse des lacs qui dégèlent participe à ma&amp;nbsp;motivation.&lt;/p&gt;
  224. &lt;hr /&gt;
  225. &lt;blockquote lang=&quot;en&quot;&gt;
  226. &lt;p&gt;While global variables scoped to the &lt;code&gt;:root&lt;/code&gt; let me define system-wide defaults, I also like to scope variables for styles that change with utility classes to the element&amp;nbsp;itself.&lt;/p&gt;
  227. &lt;p&gt;CSS variables scoped to an element can use other CSS variables as their value. But &lt;mark&gt;scoping them to the element provides an easy way to modify&amp;nbsp;them.&lt;/mark&gt;&lt;/p&gt;
  228. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://gomakethings.com/an-advanced-way-to-use-css-variables/&quot;&gt;An advanced way to use CSS&amp;nbsp;variables&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  229. &lt;/blockquote&gt;
  230. &lt;p&gt;Les variables CSS combinées à &lt;code&gt;:has()&lt;/code&gt; + &lt;code&gt;:is()&lt;/code&gt; + &lt;code&gt;:where()&lt;/code&gt; transforment complètement la façon d’interagir avec une page pour pouvoir la styler. &lt;a href=&quot;https://larlet.fr/david/2024/01/02/&quot;&gt;Je&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/03/07/#hr-102&quot;&gt;me&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/03/08/#hr-104&quot;&gt;répète&lt;/a&gt; mais vraiment je ne m’en remets pas. À mon niveau de bidouilleur, c’est un pan entier de mon métier qui est en train d’être transformé. Si je savais ce dont je parlais, je comparerais ça à un changement de paradigme aussi fondamental que de l’objet au fonctionnel par exemple. &lt;em&gt;Prends tes gouttes&amp;nbsp;papi.&lt;/em&gt;&lt;/p&gt;
  231. &lt;p&gt;D’autres exemples documentés &lt;a href=&quot;https://dev.37signals.com/modern-css-patterns-and-techniques-in-campfire/&quot;&gt;sur le blog dev de 37signals&lt;/a&gt; (oui, je&amp;nbsp;sais…).&lt;/p&gt;
  232. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/courage/&quot;&gt;#courage&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/sport/&quot;&gt;#sport&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/technique/&quot;&gt;#technique&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  233. </entry>
  234. <entry xml:lang="fr">
  235. <title type="html">Productivité</title>
  236. <link href="https://larlet.fr/david/2024/04/05/" rel="alternate" type="text/html" />
  237. <updated>2024-04-05T12:00:00+01:00</updated>
  238. <id>https://larlet.fr/david/2024/04/05/</id>
  239. <summary type="html">
  240. &lt;blockquote lang=&quot;en&quot;&gt;
  241. &lt;p&gt;You see, the more I wrote about “productivity”, the more I found myself falling into a trap. &lt;mark&gt;It’s very difficult to write in this space without approaching the topic in a way that’s weirdly moralistic.&lt;/mark&gt; It’s difficult to avoid implying that “being productive” is some sort of objectively virtuous behavior – and that conversely a lack of “productivity” is some sort of moral failing. I don’t believe this. Nor do I believe that we have any sort of imperative to be maximally-productive at work. You don’t need to “give 110%” to your job. You don’t “owe” your employer any sort of maximal time and&amp;nbsp;attention.&lt;/p&gt;
  242. &lt;p&gt;I do think that “productivity” is important, but it’s a more subtle importance. It’s not about being a nice little compliant worker drone and maximizing your contributions to capitalism! Productivity is important to me in the way that it contributes to feeling content and&amp;nbsp;fulfilled.&lt;/p&gt;
  243. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://jacobian.org/2024/apr/4/not-writing-about-productivity/&quot;&gt;Why I’m Not Writing a Productivity&amp;nbsp;Series&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  244. &lt;/blockquote&gt;
  245. &lt;p&gt;Il y a des tâches à l’état gazeux, qui remplissent tout le temps que l’on est prêt à leur&amp;nbsp;laisser.&lt;/p&gt;
  246. &lt;p&gt;Il y a des tâches à l’état liquide, qui vont se répandre dans tous les interstices de temps d’autres&amp;nbsp;tâches.&lt;/p&gt;
  247. &lt;p&gt;Il y a des tâches à l’état solide, que l’on peine à sup·porter et dont on a du mal à se&amp;nbsp;défaire.&lt;/p&gt;
  248. &lt;p&gt;Il y a des tâches qui sont des réactions en chaîne, dont il faut attendre le point de bascule en préparant les matières&amp;nbsp;premières.&lt;/p&gt;
  249. &lt;p&gt;La classification périodique des tâches, un autre moyen de les&amp;nbsp;qualifier&amp;#8239;?&lt;/p&gt;
  250. &lt;hr /&gt;
  251. &lt;blockquote lang=&quot;en&quot;&gt;
  252. &lt;p&gt;The fast, feature-rich, GPU based terminal&amp;nbsp;emulator&lt;/p&gt;
  253. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://sw.kovidgoyal.net/kitty/&quot;&gt;kitty&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  254. &lt;/blockquote&gt;
  255. &lt;p&gt;Je me demande souvent si d’autres outils me permettraient d’être plus efficace / rapide. C’est le temps d’apprentissage puis la robustesse de l’outil et la communauté (et son support) qui m’importent. J’ai aussi cette croyance qu’en altérant trop les outils par défaut, je vais être moins à même de pouvoir accompagner des personnes moins techniques lorsque l’occasion se&amp;nbsp;présente.&lt;/p&gt;
  256. &lt;p&gt;Aujourd’hui, j’ai repris à zéro mes &lt;em&gt;packages&lt;/em&gt; de &lt;a href=&quot;https://www.sublimetext.com/&quot;&gt;Sublime Text 4&lt;/a&gt; car j’avais un &lt;a href=&quot;https://github.com/wbond/package_control/issues/1612&quot;&gt;souci avec Package Control&lt;/a&gt; et le &lt;em&gt;log&lt;/em&gt; des 27&amp;nbsp;paquets installés me masquait la vraie erreur. Je n’ai ensuite installé que &lt;a href=&quot;https://packagecontrol.io/packages/LSP&quot;&gt;LSP&lt;/a&gt;, &lt;a href=&quot;https://packagecontrol.io/packages/LSP-ruff&quot;&gt;LSP-ruff&lt;/a&gt; et &lt;a href=&quot;https://packagecontrol.io/packages/LSP-rome&quot;&gt;LSP-rome&lt;/a&gt;. Peut-être que c’est suffisant à mes besoins actuels&amp;#8239;? (Merci&amp;nbsp;Rust.)&lt;/p&gt;
  257. &lt;p&gt;Je suis toujours assez effaré par les performances de&amp;nbsp;VSCodium…&lt;/p&gt;
  258. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/documentation/&quot;&gt;#documentation&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/experience/&quot;&gt;#expérience&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/psychologie/&quot;&gt;#psychologie&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  259. </entry>
  260. <entry xml:lang="fr">
  261. <title type="html">Décision</title>
  262. <link href="https://larlet.fr/david/2024/04/03/" rel="alternate" type="text/html" />
  263. <updated>2024-04-03T12:00:00+01:00</updated>
  264. <id>https://larlet.fr/david/2024/04/03/</id>
  265. <summary type="html">
  266. &lt;blockquote&gt;
  267. &lt;p&gt;La prise de décision par consentement se différencie de la prise de décision par consensus&amp;nbsp;: &lt;strong&gt;en consensus tout le monde dit «&amp;nbsp;oui&amp;nbsp;», en consentement, personne ne dit&amp;nbsp;«&amp;nbsp;non&amp;nbsp;».&lt;/strong&gt;&lt;/p&gt;
  268. &lt;p&gt;Cela sous-entend que lorsque l’on prend une décision par consentement, on ne va pas chercher la «&amp;nbsp;meilleure solution&amp;nbsp;» mais l’on va partir du principe qu’une bonne décision est celle qui respecte les limites de celles et ceux qui devront l’assumer, et qui ne compromet en rien la capacité de l’organisation à mener à bien sa mission. &lt;mark&gt;Le consentement implique qu’une décision ne peut être prise que lorsqu’il n’y a plus d’objection raisonnable à celle-ci.&lt;/mark&gt; Tant qu’il y a des objections, l’ensemble du groupe est mobilisé pour bonifier la proposition. Ainsi, les objections permettent de révéler les limites avec lesquelles le groupe devra composer et indiquent donc l’espace de liberté dont le cercle&amp;nbsp;dispose.&lt;/p&gt;
  269. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;http://pilavenir.canalblog.com/archives/2017/10/21/35793152.html&quot;&gt;La prise décision par consentement&amp;nbsp;: un outil au service du&amp;nbsp;groupe&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  270. &lt;/blockquote&gt;
  271. &lt;p&gt;La prise de décision lorsqu’on se retrouve à &lt;a href=&quot;http://scopyleft.fr/&quot;&gt;7&amp;nbsp;co-gérant·es&lt;/a&gt; distribué·es sur deux continents n’est pas une mince affaire. Rythme lent/asynchrone, légitimité, culpabilité, ambiguïté, les raisons ne manquent pas pour générer des&amp;nbsp;frustrations.&lt;/p&gt;
  272. &lt;p&gt;Aujourd’hui, nous avons réussi à définir ce dont nous avions besoin en amont, pendant et après une prise de décision. Cela a permis au passage de rendre explicite la légitimité des décisions prises et la façon d’améliorer les propositions itérativement par&amp;nbsp;consentement.&lt;/p&gt;
  273. &lt;p&gt;Je suis content de faire partie d’un &lt;a href=&quot;https://larlet.fr/david/2024/03/28/&quot;&gt;collectif&lt;/a&gt; qui prend le temps de se poser ces questions. C’est rare et&amp;nbsp;précieux.&lt;/p&gt;
  274. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/equipe/&quot;&gt;#équipe&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/experience/&quot;&gt;#expérience&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/gratitude/&quot;&gt;#gratitude&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  275. </entry>
  276. <entry xml:lang="fr">
  277. <title type="html">Porte</title>
  278. <link href="https://larlet.fr/david/2024/04/02/" rel="alternate" type="text/html" />
  279. <updated>2024-04-02T12:00:00+01:00</updated>
  280. <id>https://larlet.fr/david/2024/04/02/</id>
  281. <summary type="html">
  282. &lt;blockquote lang=&quot;en&quot;&gt;
  283. &lt;p&gt;For me, the two big lessons from #XZ were first, the lack of resources supporting crucial Open-Source infrastructure, but then and especially, the demonstration that the attackers are numerous, skilled &lt;em&gt;and patient&lt;/em&gt;. We already knew about numerous and skilled but this episode, where the attacker was already well-embedded in the project by May 2022, opened a few eyes, including&amp;nbsp;mine.&lt;/p&gt;
  284. &lt;p&gt;The advantage, to various flavors of malefactor, of subverting core pieces of Open-Source infrastructure, is incalculable. &lt;mark&gt;#XZ was the one we caught; how many have we&amp;nbsp;missed?&lt;/mark&gt;&lt;/p&gt;
  285. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://www.tbray.org/ongoing/When/202x/2024/04/01/OSQI&quot;&gt;ongoing by Tim Bray ·&amp;nbsp;OSQI&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  286. &lt;/blockquote&gt;
  287. &lt;p&gt;J’ai laissé le web 2&amp;nbsp;jours et hop, une &lt;a href=&quot;https://fr.wikipedia.org/wiki/Porte_d%C3%A9rob%C3%A9e&quot;&gt;porte dérobée&lt;/a&gt; a été fermée à temps. C’est &lt;a href=&quot;https://boehs.org/node/everything-i-know-about-the-xz-backdoor&quot;&gt;la chronologie&lt;/a&gt; qui est surprenante dans sa durée et pose immédiatement la question de savoir s’il s’agit d’une exception ou s’il y a déjà des portes un peu partout, exploitées par plus ou moins de&amp;nbsp;monde.&lt;/p&gt;
  288. &lt;p&gt;Lorsqu’on voit ce que &lt;a href=&quot;https://larlet.fr/david/2024/03/28/#hr-140&quot;&gt;sont prêts à faire les GAFAM+&lt;/a&gt;, je n’ai aucun doute sur le fait qu’ils se rueraient sur de telles «&amp;nbsp;opportunités&amp;nbsp;». On parle souvent de malveillance dans ces cas là, je pense que l’on peut facilement mettre tout ce qui est &lt;em&gt;growth hacking&lt;/em&gt; et &lt;em&gt;marketing&lt;/em&gt; dans ce&amp;nbsp;périmètre.&lt;/p&gt;
  289. &lt;p&gt;Pour en revenir à des OSQI (Open Source Quality Institutes) nationaux, cela me rappelle des initiatives comme &lt;a href=&quot;https://copiepublique.fr/&quot;&gt;copie publique&lt;/a&gt; ou cette idée de &lt;a href=&quot;https://larlet.fr/david/2023/01/11/&quot;&gt;MécénatDeCompétencesPublic&lt;/a&gt;&amp;#8239;.&lt;/p&gt;
  290. &lt;p&gt;Transformer l’Open-Source en bien commun est peut-être le chantier de la décennie à venir. J’espère en faire partie à mon&amp;nbsp;échelle.&lt;/p&gt;
  291. &lt;blockquote lang=&quot;en&quot;&gt;
  292. &lt;p&gt;Tuesday, Hans-Christoph Steiner, a longtime developer of F-Droid, explained that a very similar situation nearly led F-Droid to push an update that would have introduced a security vulnerability into the product three years ago: “Three years ago, F-Droid had a similar kind of attempt as the Xz backdoor,” he posted on Mastodon. “A new contributor submitted a merge request to improve the search, which was oft requested but the maintainers hadn’t found time to work on. There was also pressure from other random accounts to merge it. In the end, it became clear that it added a SQL injection vulnerability. In this case, we managed to catch it before it was merged. Since similar tactics were used, I think it’s relevant&amp;nbsp;now.”&lt;/p&gt;
  293. &lt;p&gt;Other open source developers and security experts have pointed to the dynamic of bullying and the general reliance on a small number of volunteer developers. They explained that it’s a problem across much of the open source software ecosystem, and is definitely a problem for the large tech companies and infrastructure who rely on these often volunteer-led projects to build their for-profit software on top&amp;nbsp;of.&lt;/p&gt;
  294. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://www.404media.co/xz-backdoor-bullying-in-open-source-software-is-a-massive-security-vulnerability/&quot;&gt;Bullying in Open Source Software Is a Massive Security&amp;nbsp;Vulnerability&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  295. &lt;/blockquote&gt;
  296. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/commun/&quot;&gt;#commun&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/opensource/&quot;&gt;#opensource&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/protopie/&quot;&gt;#protopie&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  297. </entry>
  298. <entry xml:lang="fr">
  299. <title type="html">Jour 2</title>
  300. <link href="https://larlet.fr/david/2024/03/30/" rel="alternate" type="text/html" />
  301. <updated>2024-03-30T12:00:00+01:00</updated>
  302. <id>https://larlet.fr/david/2024/03/30/</id>
  303. <summary type="html">
  304. &lt;blockquote&gt;
  305. &lt;p&gt;Le vent fera tomber des branches,&lt;br /&gt;
  306. L’aube viendra dans sa mârde&amp;nbsp;blanche.&lt;/p&gt;
  307. &lt;p&gt;&lt;cite&gt;&lt;em&gt;Mars&lt;/em&gt;, Cissou du «&amp;nbsp;vrai&amp;nbsp;» sud-ouest (fin du&amp;nbsp;débat)&lt;/cite&gt;&lt;/p&gt;
  308. &lt;/blockquote&gt;
  309. &lt;p&gt;La montre m’indique avoir dormi 5h. Optimiste. Je me lève relativement tôt car je ne veux pas trop m’enfoncer dans la neige en début d’après-midi. Les seules traces de retour bien profondes de la veille m’ont fait un peu peur à ce sujet. J’ai greloté une partie de la nuit (oups, des calories en moins), ça motive à s’extirper du duvet&amp;nbsp;aussi…&lt;/p&gt;
  310. &lt;p&gt;Le temps de déjeuner et de plier le camp, la neige se met à tomber. Il neige faiblement pendant les 2&amp;#8239;km d’ascension qui m’ont séché la veille. Vu le nombre de nouvelles branches que je dois enjamber, je suis bien content de ne pas m’en être pris une sur la tête cette nuit. J’espérais pouvoir bénéficier d’un lever de soleil mais c’est compter sans la couverture&amp;nbsp;nuageuse.&lt;/p&gt;
  311. &lt;figure&gt;
  312. &lt;a href=&quot;https://larlet.fr/static/david/2024/2024-03-30-lac.jpg&quot;
  313. title=&quot;Cliquer pour une version haute résolution&quot;&gt;
  314. &lt;img
  315. src=&quot;https://larlet.fr/static/david/2024/2024-03-30-lac.jpg&quot;
  316. width=&quot;3024&quot; height=&quot;4032&quot;
  317. srcset=&quot;/static/david/2024/2024-03-30-lac.jpg 3024w, /static/david/2024/2024-03-30-lac_660x440.jpg 660w, /static/david/2024/2024-03-30-lac_990x660.jpg 990w, /static/david/2024/2024-03-30-lac_1320x880.jpg 1320w&quot;
  318. sizes=&quot;min(100vw, calc(100vh * 3024 / 4032))&quot;
  319. loading=&quot;lazy&quot;
  320. decoding=&quot;async&quot;
  321. alt=&quot;Un lac gelé.&quot;&gt;
  322. &lt;/a&gt;
  323. &lt;figcaption&gt;Un de ces paysages&amp;nbsp;typiques.&lt;/figcaption&gt;
  324. &lt;/figure&gt;
  325. &lt;p&gt;Je découvre qu’il faut avoir une trace aller et une autre retour car la montre ne sait pas réaliser que je ne fais pas du &lt;em&gt;moonwalk&lt;/em&gt; toute seule. Étonnant.&lt;/p&gt;
  326. &lt;p&gt;L’un des inconvénient d’être reparti à la fraîche, c’est que les rochers mouillés sont devenus bien glissants mais la boue a gelé. Il faut bien savoir choisir son poison dans ces&amp;nbsp;circonstances&amp;nbsp;😅.&lt;/p&gt;
  327. &lt;p&gt;Au fil du chemin, je réalise que je ne suis pas prêt à enchaîner en rando-course sur plusieurs jours et qu’il va falloir travailler l’endurance avant, ce que j’ai commencé mais ça va me prendre plusieurs mois pour arriver à la forme qui me semble&amp;nbsp;nécessaire.&lt;/p&gt;
  328. &lt;figure&gt;
  329. &lt;a href=&quot;https://larlet.fr/static/david/2024/2024-03-30-ruisseau.jpg&quot;
  330. title=&quot;Cliquer pour une version haute résolution&quot;&gt;
  331. &lt;img
  332. src=&quot;https://larlet.fr/static/david/2024/2024-03-30-ruisseau.jpg&quot;
  333. width=&quot;3024&quot; height=&quot;4032&quot;
  334. srcset=&quot;/static/david/2024/2024-03-30-ruisseau.jpg 3024w, /static/david/2024/2024-03-30-ruisseau_660x440.jpg 660w, /static/david/2024/2024-03-30-ruisseau_990x660.jpg 990w, /static/david/2024/2024-03-30-ruisseau_1320x880.jpg 1320w&quot;
  335. sizes=&quot;min(100vw, calc(100vh * 3024 / 4032))&quot;
  336. loading=&quot;lazy&quot;
  337. decoding=&quot;async&quot;
  338. alt=&quot;Un ruisseau gelé.&quot;&gt;
  339. &lt;/a&gt;
  340. &lt;figcaption&gt;La couche de glace depuis hier me permet de mesurer la température&amp;nbsp;nocturne.&lt;/figcaption&gt;
  341. &lt;/figure&gt;
  342. &lt;p&gt;J’espère pouvoir alléger le sac aussi avec les températures qui remontent. Je peux probablement réduire de 2&amp;nbsp;kilos par dizaine de degrés gagnée, ce qui n’est pas&amp;nbsp;négligeable&amp;#8239;!&lt;/p&gt;
  343. &lt;p&gt;Une sortie plus en mode recherche que l’habituelle exploration / contemplation / plaisir. Toujours cet arbitrage pour réussir à être dans de bonnes conditions tout en recherchant l’isolement&amp;nbsp;relatif.&lt;/p&gt;
  344. &lt;p&gt;Les derniers kilomètres sont bien longs (je suis limite en hypo), surtout que je m’étais garé assez loin du départ pour estimer ce que pourrait être une jonction du &lt;a href=&quot;https://www.randoquebec.ca/sentier-national-au-quebec/&quot;&gt;sentier national&lt;/a&gt; qui enchainerait trois tronçons dont j’ai maintenant fait tous les morceaux. Envisageable dans des conditions non-hivernales mais il faut que j’arrive à me faire déposer à l’une des&amp;nbsp;extrémités.&lt;/p&gt;
  345. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/experience/&quot;&gt;#expérience&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/foret/&quot;&gt;#forêt&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/partage/&quot;&gt;#partage&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  346. </entry>
  347. <entry xml:lang="fr">
  348. <title type="html">Jour 1</title>
  349. <link href="https://larlet.fr/david/2024/03/29/" rel="alternate" type="text/html" />
  350. <updated>2024-03-29T12:00:00+01:00</updated>
  351. <id>https://larlet.fr/david/2024/03/29/</id>
  352. <summary type="html">
  353. &lt;p&gt;Réveil à 6h. Je veux tenter une sortie longue en prévision d’une &lt;a href=&quot;https://larlet.fr/david/2024/03/11/#hr-109&quot;&gt;encore plus longue&lt;/a&gt;. Comme chaque printemps, j’ai l’espoir de ne pas tomber sur des conditions trop pénibles lorsque ça fond. Comme chaque printemps, je me retrouve à viser les arbres entre deux plaques de verglas pour pouvoir me rattraper dans les dévers. Sans compter le fait que le sentier qui a été tapé par les raquettes tout l’hiver est bien souvent le seul serpent de glace restant. Un exemple parmi tant d’autres un peu plus&amp;nbsp;critiques&amp;nbsp;:&lt;/p&gt;
  354. &lt;figure&gt;
  355. &lt;a href=&quot;https://larlet.fr/static/david/2024/2024-03-29-chemin-glace.jpg&quot;
  356. title=&quot;Cliquer pour une version haute résolution&quot;&gt;
  357. &lt;img
  358. src=&quot;https://larlet.fr/static/david/2024/2024-03-29-chemin-glace.jpg&quot;
  359. width=&quot;3024&quot; height=&quot;4032&quot;
  360. srcset=&quot;/static/david/2024/2024-03-29-chemin-glace.jpg 3024w, /static/david/2024/2024-03-29-chemin-glace_660x440.jpg 660w, /static/david/2024/2024-03-29-chemin-glace_990x660.jpg 990w, /static/david/2024/2024-03-29-chemin-glace_1320x880.jpg 1320w&quot;
  361. sizes=&quot;min(100vw, calc(100vh * 3024 / 4032))&quot;
  362. loading=&quot;lazy&quot;
  363. decoding=&quot;async&quot;
  364. alt=&quot;Un chemin gelé.&quot;&gt;
  365. &lt;/a&gt;
  366. &lt;figcaption&gt;Sur 100 mètres ça va, mais sur plusieurs kilomètres c’est usant&amp;nbsp;!&lt;/figcaption&gt;
  367. &lt;/figure&gt;
  368. &lt;p&gt;Il y a vraiment deux faces, deux ambiances dans ces situations avec d’un côté du gel et de l’autre le sol déjà fondu mais parfois boueux et donc tout autant&amp;nbsp;glissant…&lt;/p&gt;
  369. &lt;p&gt;Je découvre un emplacement de camping à une dizaine de kilomètres du départ, ce qui me permettra de revenir cet été avec l’enfant. J’aime bien ce genre de découverte non&amp;nbsp;documentée.&lt;/p&gt;
  370. &lt;figure&gt;
  371. &lt;a href=&quot;https://larlet.fr/static/david/2024/2024-03-29-riviere.jpg&quot;
  372. title=&quot;Cliquer pour une version haute résolution&quot;&gt;
  373. &lt;img
  374. src=&quot;https://larlet.fr/static/david/2024/2024-03-29-riviere.jpg&quot;
  375. width=&quot;3024&quot; height=&quot;4032&quot;
  376. srcset=&quot;/static/david/2024/2024-03-29-riviere.jpg 3024w, /static/david/2024/2024-03-29-riviere_660x440.jpg 660w, /static/david/2024/2024-03-29-riviere_990x660.jpg 990w, /static/david/2024/2024-03-29-riviere_1320x880.jpg 1320w&quot;
  377. sizes=&quot;min(100vw, calc(100vh * 3024 / 4032))&quot;
  378. loading=&quot;lazy&quot;
  379. decoding=&quot;async&quot;
  380. alt=&quot;Une rivière avec les bords enneigés.&quot;&gt;
  381. &lt;/a&gt;
  382. &lt;figcaption&gt;Je chiale beaucoup mais il y a aussi des décors qui valent le coup&amp;nbsp;hein.&lt;/figcaption&gt;
  383. &lt;/figure&gt;
  384. &lt;p&gt;J’avais fait la &lt;a href=&quot;https://www.komoot.com/fr-fr/plan&quot;&gt;trace sur Komoot&lt;/a&gt; pour tester le suivi avec &lt;a href=&quot;https://larlet.fr/david/2024/03/14/&quot;&gt;la montre&lt;/a&gt; (je ferai un retour complet à son sujet plus tard) ce qui a eu pour effet de m’encourager &lt;em&gt;et&lt;/em&gt; de me décourager à la fois. D’un côté la certitude d’être sur le «&amp;nbsp;droit&amp;nbsp;» chemin et d’anticiper les côtes, de l’autre se rendre compte en cours de route que l’estimation initiale en terme de distance / dénivelé était très optimiste (+25% en distance et +50% en dénivelé ça fait une&amp;nbsp;différence&amp;#8239;!).&lt;/p&gt;
  385. &lt;p&gt;Je pensais être déjà limite niveau capacités physiques mais de voir le chemin s’allonger et le temps passer a fini par avoir raison de mon énergie. Lorsque la lucidité flanche après presque 7h d’effort à &lt;del&gt;lutter&lt;/del&gt; m’adapter aux éléments, il vaut mieux faire une pause en pensant au retour. Je retiens qu’il faut démarrer plus tôt aussi pour être plus serein en cas&amp;nbsp;d’imprévu.&lt;/p&gt;
  386. &lt;p&gt;La nourriture était un autre test important de cette sortie. Je me suis rendu compte que de s’alimenter sur 4&amp;nbsp;jours intensifs allait peser lourd. Lorsque j’ai enregistré le parcours, la montre m’a indiqué 2300&amp;nbsp;kcal de dépensées ce qui me donne une idée des ordres de grandeur. Pour une fois, je voulais tenter les plats lyophilisés et non seulement c’était pas bon mais en plus j’avais faim avant de me coucher&amp;#8239;! Il faut que j’essaye de déshydrater mes propres&amp;nbsp;plats.&lt;/p&gt;
  387. &lt;p&gt;En parlant du couchage, trouver un emplacement en pleine forêt québécoise qui soit suffisamment plat &lt;em&gt;et&lt;/em&gt; sec non gelé &lt;em&gt;et&lt;/em&gt; proche d’eau courante revient bien souvent à s’installer sur le sentier. Ce que j’ai fait après n’avoir croisé personne de la&amp;nbsp;journée.&lt;/p&gt;
  388. &lt;figure&gt;
  389. &lt;a href=&quot;https://larlet.fr/static/david/2024/2024-03-29-couchage-sentier.jpg&quot;
  390. title=&quot;Cliquer pour une version haute résolution&quot;&gt;
  391. &lt;img
  392. src=&quot;https://larlet.fr/static/david/2024/2024-03-29-couchage-sentier.jpg&quot;
  393. width=&quot;3024&quot; height=&quot;4032&quot;
  394. srcset=&quot;/static/david/2024/2024-03-29-couchage-sentier.jpg 3024w, /static/david/2024/2024-03-29-couchage-sentier_660x440.jpg 660w, /static/david/2024/2024-03-29-couchage-sentier_990x660.jpg 990w, /static/david/2024/2024-03-29-couchage-sentier_1320x880.jpg 1320w&quot;
  395. sizes=&quot;min(100vw, calc(100vh * 3024 / 4032))&quot;
  396. loading=&quot;lazy&quot;
  397. decoding=&quot;async&quot;
  398. alt=&quot;Un campement en plein chemin.&quot;&gt;
  399. &lt;/a&gt;
  400. &lt;figcaption&gt;On ne dirait pas sur la photo mais le sol est bien&amp;nbsp;humide.&lt;/figcaption&gt;
  401. &lt;/figure&gt;
  402. &lt;p&gt;La météo indiquait -5°C, je prévoyais un -10°C niveau équipement et… il a bien fait -15°C avec le vent qui a soufflé par rafales toute la nuit. Difficile de réussir à être minimaliste / léger dans ces conditions sans prendre quelques&amp;nbsp;risques.&lt;/p&gt;
  403. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/experience/&quot;&gt;#expérience&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/foret/&quot;&gt;#forêt&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/partage/&quot;&gt;#partage&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  404. </entry>
  405. <entry xml:lang="fr">
  406. <title type="html">Collectif</title>
  407. <link href="https://larlet.fr/david/2024/03/28/" rel="alternate" type="text/html" />
  408. <updated>2024-03-28T12:00:00+01:00</updated>
  409. <id>https://larlet.fr/david/2024/03/28/</id>
  410. <summary type="html">
  411. &lt;p&gt;Il est parfois difficile pour un collectif existant &lt;em&gt;de fait&lt;/em&gt; de définir ce qui le relie (encore), de travailler sur sa raison d’être et/ou ses valeurs. Le regroupement a pu être économique, idéologique, par affinités, un peu des trois à la fois sûrement et à un moment on se retrouve devant le fait accompli. Presque surpris de se retrouver ensemble, à se demander&amp;nbsp;pourquoi.&lt;/p&gt;
  412. &lt;p&gt;Cela m’arrive dans trois situations à la fois en ce moment. À différentes échelles mais le parallèle est frappant. Le plus difficile (pour moi) est de se retenir d’être le seul moteur du groupe car le temps individuel est aussi important que l’action collective qu’il&amp;nbsp;précède.&lt;/p&gt;
  413. &lt;p&gt;Je vais aller m’épuiser sur ces sages paroles en forêt. Seul.&lt;/p&gt;
  414. &lt;hr /&gt;
  415. &lt;blockquote lang=&quot;en&quot;&gt;
  416. &lt;p&gt;In 2016, Facebook launched a secret project designed to intercept and decrypt the network traffic between people using Snapchat’s app and its servers. The goal was to understand users’ behavior and help Facebook compete with Snapchat, according to newly unsealed court documents. Facebook called this “Project Ghostbusters,” in a clear reference to Snapchat’s ghost-like&amp;nbsp;logo.&lt;/p&gt;
  417. &lt;p&gt;On Tuesday, a federal court in California released new documents discovered as part of the class action lawsuit between consumers and Meta, Facebook’s parent&amp;nbsp;company.&lt;/p&gt;
  418. &lt;p&gt;The newly released documents reveal how Meta tried to gain a competitive advantage over its competitors, including Snapchat and later Amazon and YouTube, &lt;mark&gt;by analyzing the network traffic of how its users were interacting with Meta’s competitors.&lt;/mark&gt; Given these apps’ use of encryption, Facebook needed to develop special technology to get around&amp;nbsp;it.&lt;/p&gt;
  419. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://techcrunch.com/2024/03/26/facebook-secret-project-snooped-snapchat-user-traffic/&quot;&gt;Facebook snooped on users’ Snapchat traffic in secret project, documents&amp;nbsp;reveal&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  420. &lt;/blockquote&gt;
  421. &lt;p&gt;J’ai du mal à réaliser que je suis en train de faire un lien vers TechCrunch mais c’est trop gros pour laisser passer. Je ne vois pas comment un tel stratagème pourrait être justifiable, et si les GAFAM+ en sont là ça fait froid dans le&amp;nbsp;dos.&lt;/p&gt;
  422. &lt;p&gt;Le manque de déontologie dans ma profession m’attriste. Savoir que cette nouvelle ne va rien changer aux monopoles actuels&amp;nbsp;m’achève.&lt;/p&gt;
  423. &lt;blockquote lang=&quot;en&quot;&gt;
  424. &lt;p&gt;People who point out what needs to be improved are generally disappointed optimists. Only an optimist would believe that pointing out what has gone wrong could ever result in said issue being fixed. Only somebody who believes that software could be universally useful to everybody in society is going to spend time discovering and highlighting accessibility&amp;nbsp;issues.&lt;/p&gt;
  425. &lt;p&gt;You don’t spend years of your life figuring out how the flaws of the web can be fixed unless you thinks the web has massive unfulfilled&amp;nbsp;potential.&lt;/p&gt;
  426. &lt;p&gt;&lt;mark&gt;We’re not cynics.&lt;/mark&gt; If we were, we wouldn’t waste so much energy being&amp;nbsp;hopeful.&lt;/p&gt;
  427. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://www.baldurbjarnason.com/2024/the-software-crisis-easter-sale/&quot;&gt;“I’m not a cynic, I’m&amp;nbsp;disappointed”&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  428. &lt;/blockquote&gt;
  429. &lt;hr /&gt;
  430. &lt;blockquote lang=&quot;en&quot;&gt;
  431. &lt;p&gt;As such, I’ve become more attuned to what my goal really &lt;em&gt;should be&lt;/em&gt; with Buttondown. Most tech companies have a goal centered around some flavor of maximalism: disrupting an industry, revolutionizing a process, that kind of thing. Buttondown is not that kind of product; &lt;mark&gt;I am not that kind of&amp;nbsp;person.&lt;/mark&gt;&lt;/p&gt;
  432. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://jmduke.com/posts/microblog/why-should-a-company/&quot;&gt;Why should a company? · Applied&amp;nbsp;Cartography&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  433. &lt;/blockquote&gt;
  434. &lt;p&gt;Et puis soudain un peu d’espoir. Tout n’est pas si terrible finalement. Quelques villages ici et là résistent. Quelques personnes et collectifs font la&amp;nbsp;différence.&lt;/p&gt;
  435. &lt;blockquote lang=&quot;en&quot;&gt;
  436. &lt;p&gt;But it’s our fault. Our as a society. We celebrate when Apple becomes the first trillion-dollar company but we don’t celebrate when someone says &lt;mark&gt;“You know what? I think I have&amp;nbsp;enough”.&lt;/mark&gt;&lt;/p&gt;
  437. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://manuelmoreale.com/growth-is-a-mind-cancer&quot;&gt;Growth is a mind&amp;nbsp;cancer&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  438. &lt;/blockquote&gt;
  439. &lt;hr /&gt;
  440. &lt;blockquote&gt;
  441. &lt;p&gt;À l’origine, Make est un outil conçu pour le développement de logiciels&amp;nbsp;: il sert à automatiser la fabrication de programmes exécutables à partir de fichiers contenant du&amp;nbsp;code.&lt;/p&gt;
  442. &lt;p&gt;Mais en réalité, &lt;mark&gt;Make peut être utilisé pour gérer toutes sortes de projets.&lt;/mark&gt; En tant que langage, il permet de définir des processus de manière très simple (encore plus simple que les scripts shell). Et en tant qu’outil, il permet de gagner du temps, avec une gestion efficace des états des fichiers qui fait économiser du travail aussi bien à l’humain qu’à la&amp;nbsp;machine.&lt;/p&gt;
  443. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://www.arthurperret.fr/cours/make.html&quot;&gt;Make&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  444. &lt;/blockquote&gt;
  445. &lt;p&gt;Superbe cours par Arthur Perret, j’ai appris plein de choses en le relisant. J’emploie &lt;code&gt;make&lt;/code&gt; au quotidien, ne serait-ce que pour construire ce site et pourtant il y a pas mal de complexité/raccourcis vers lesquels je ne suis pas encore&amp;nbsp;allé.&lt;/p&gt;
  446. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/commun/&quot;&gt;#commun&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/equipe/&quot;&gt;#équipe&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/protopie/&quot;&gt;#protopie&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  447. </entry>
  448. <entry xml:lang="fr">
  449. <title type="html">GPX Viewer</title>
  450. <link href="https://larlet.fr/david/2024/03/26/" rel="alternate" type="text/html" />
  451. <updated>2024-03-26T12:00:00+01:00</updated>
  452. <id>https://larlet.fr/david/2024/03/26/</id>
  453. <summary type="html">
  454. &lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/03/25/&quot;&gt;Suite de mes expérimentations&lt;/a&gt; de la veille à la fois en cartographie et en &lt;em&gt;web components&lt;/em&gt;. Je me suis demandé s’il était possible de faire un composant qui ne dépende pas de uMap pour afficher une trace GPX. Le fait d’avoir passé une heure à trouver la bonne &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP&quot;&gt;CSP&lt;/a&gt; pour arriver à afficher une carte m’a d’une certaine manière motivé (c’était une journée&amp;nbsp;galère).&lt;/p&gt;
  455. &lt;p&gt;Il se trouve qu’il existe &lt;a href=&quot;https://github.com/mpetazzoni/leaflet-gpx&quot;&gt;leaflet-gpx&lt;/a&gt; qui fait exactement ce que je voulais. Il ne me restait «&amp;nbsp;plus qu’à&amp;nbsp;» en faire un composant web, ce que j’avais déjà &lt;a href=&quot;https://gitlab.com/umap-project/leaflet-webcomponents/&quot;&gt;fait par ailleurs&lt;/a&gt;&amp;nbsp;:&lt;/p&gt;
  456. &lt;gpx-viewer data-height=&quot;500px&quot; data-width=&quot;800px&quot;&gt;
  457. &lt;p&gt;
  458. Vous devriez voir s’afficher une carte de mon « Grand Tour de la forêt de Ouareau »,
  459. qui contient &lt;a data-gpx href=&quot;https://larlet.fr/static/david/2024/grand_tour_de_la_foret_de_ouareau.gpx&quot;&gt;cette trace GPX&lt;/a&gt;,
  460. centrée sur &lt;span data-latitude&gt;46.2117&lt;/span&gt;, &lt;span data-longitude&gt;-73.9335&lt;/span&gt;
  461. avec un zoom de &lt;span data-zoom&gt;12&lt;/span&gt;.
  462. Il est probable que cela ne s’exécute pas dans un agrégateur par exemple.
  463. &lt;/p&gt;
  464. &lt;/gpx-viewer&gt;
  465. &lt;script type=&quot;module&quot;&gt;
  466. import * as L from &#x27;/static/david/2024/leaflet.1.9.4/leaflet.1.9.4.js&#x27;
  467. window.L = L // Hack for leaflet-gpx, youpi.
  468. &lt;/script&gt;
  469. &lt;script type=&quot;module&quot; nonce=&quot;oembed-web-component&quot;&gt;
  470. class GPXViewer extends HTMLElement {
  471. static tagName = &#x27;gpx-viewer&#x27;
  472. static register(tagName, registry) {
  473. if(!registry &amp;&amp; (&#x27;customElements&#x27; in globalThis)) {
  474. registry = globalThis.customElements
  475. }
  476. registry?.define(tagName || this.tagName, this)
  477. }
  478. #attachCSS(path) {
  479. const linkElement = document.createElement(&#x27;link&#x27;)
  480. linkElement.setAttribute(&#x27;rel&#x27;, &#x27;stylesheet&#x27;)
  481. linkElement.setAttribute(&#x27;href&#x27;, path)
  482. this.shadowRoot.appendChild(linkElement)
  483. }
  484. #computeDimensions(mapContainer) {
  485. // There has to be a better way but I feel lazy tonight.
  486. let height = this.dataset.height
  487. let width = this.dataset.width
  488. // Size is in px so we strip these chars and convert to int.
  489. const heightValue = Number(height.slice(0, -2))
  490. const widthValue = Number(width.slice(0, -2))
  491. const mediaQueryMiddle = window.matchMedia(`(max-width: ${widthValue}px)`)
  492. const mediaQuerySmall = window.matchMedia(`(max-width: ${widthValue / 2}px)`)
  493. if (mediaQueryMiddle.matches) {
  494. height = `${heightValue / 2}px`
  495. width = `${widthValue / 2}px`
  496. }
  497. if (mediaQuerySmall.matches) {
  498. height = `${heightValue / 3}px`
  499. width = `${widthValue / 3}px`
  500. }
  501. mapContainer.style.height = height
  502. mapContainer.style.width = width
  503. }
  504. #createMapContainer() {
  505. const mapContainer = document.createElement(&#x27;div&#x27;)
  506. this.#computeDimensions(mapContainer)
  507. this.shadowRoot.appendChild(mapContainer)
  508. return mapContainer
  509. }
  510. #createMap(mapContainer) {
  511. const map = L.map(mapContainer).setView(
  512. [
  513. this.querySelector(&#x27;[data-latitude]&#x27;).textContent,
  514. this.querySelector(&#x27;[data-longitude]&#x27;).textContent,
  515. ],
  516. this.querySelector(&#x27;[data-zoom]&#x27;).textContent
  517. )
  518. L.tileLayer(&#x27;https://tile.openstreetmap.org/{z}/{x}/{y}.png&#x27;, {
  519. attribution:
  520. &#x27;&amp;copy; &lt;a href=&quot;https://www.openstreetmap.org/copyright&quot;&gt;OpenStreetMap&lt;/a&gt; contributors&#x27;,
  521. }).addTo(map)
  522. return map
  523. }
  524. #attachGPX(map) {
  525. const gpxUrl = this.querySelector(&#x27;[data-gpx]&#x27;).href
  526. new GPX(gpxUrl, {
  527. async: true,
  528. marker_options: {
  529. startIconUrl: &#x27;/static/david/2024/leaflet-gpx.1.7.0-custom/pin-icon-start.png&#x27;,
  530. endIconUrl: &#x27;/static/david/2024/leaflet-gpx.1.7.0-custom/pin-icon-end.png&#x27;,
  531. shadowUrl: &#x27;/static/david/2024/leaflet-gpx.1.7.0-custom/pin-shadow.png&#x27;
  532. }
  533. }).on(&#x27;loaded&#x27;, (e) =&gt; {
  534. map.fitBounds(e.target.getBounds())
  535. }).addTo(map)
  536. }
  537. constructor() {
  538. super()
  539. this.attachShadow({ mode: &#x27;open&#x27; })
  540. }
  541. async connectedCallback() {
  542. this.#attachCSS(&#x27;/static/david/2024/leaflet.1.9.4/leaflet.css&#x27;)
  543. const mapContainer = this.#createMapContainer()
  544. const map = this.#createMap(mapContainer)
  545. this.#attachGPX(map)
  546. }
  547. }
  548. import GPX from &#x27;/static/david/2024/leaflet-gpx.1.7.0-custom/gpx.1.7.0-custom.js&#x27;
  549. GPXViewer.register()
  550. &lt;/script&gt;
  551. &lt;p&gt;Alors en fait, comme rien n’est jamais simple en JS, il a fallu que j’adapte le plugin qui n’était pas compatible avec les modules JS et que je fasse des galipettes pour que ça finisse par tomber en marche&amp;nbsp;🤸. Cet écosystème est merveilleux (quel métier&amp;#8239;!). J’ai quand même &lt;a href=&quot;https://github.com/mpetazzoni/leaflet-gpx/issues/153&quot;&gt;remonté le problème&lt;/a&gt;.&lt;/p&gt;
  552. &lt;p&gt;Au passage, inspiré par &lt;a href=&quot;https://blog.k-nut.eu/leaflet-microdata-html-webcomponent&quot;&gt;le travail de Knut Hühne&lt;/a&gt; sur la sémantique des données d’une carte, je me suis demandé si j’allais définir un &lt;a href=&quot;https://schema.org/itinerary&quot;&gt;itinerary&lt;/a&gt; pour un &lt;a href=&quot;https://schema.org/Trip&quot;&gt;Trip&lt;/a&gt; avec des &lt;a href=&quot;https://schema.org/GeoCoordinates&quot;&gt;GeoCoordinates&lt;/a&gt; mais ça m’a fait tirer un fil beaucoup trop long. Je garde l’idée sous le coude &lt;a href=&quot;https://umap-project.gitlab.io/leaflet-webcomponents/&quot;&gt;pour mes propres recherches&lt;/a&gt; dans le domaine cela&amp;nbsp;dit.&lt;/p&gt;
  553. &lt;p&gt;Un composant de plus, je ne suis pas très satisfait de celui-ci car j’avais l’espoir d’arriver à quelque chose de facilement réutilisable. J’aurais au moins commencé à mettre les doigts dans le XML du format GPX. Il est possible de définir plusieurs segments au sein d’une même trace. Il peut y avoir pas mal de métadonnées, notamment de mise en forme de la trace mais aussi de caractéristiques (biologiques, physiques, etc).&lt;/p&gt;
  554. &lt;hr /&gt;
  555. &lt;blockquote lang=&quot;en&quot;&gt;
  556. &lt;p&gt;The fact is that we can’t rely on any single website to hold the whole world’s knowledge, because it can be corrupted sooner or later. The only solution is a distributed architecture, with many smaller websites connecting with each other and sharing information. This is where ActivityPub comes in, the protocol used by Mastodon, Lemmy, Peertube and many other federated social media&amp;nbsp;projects.&lt;/p&gt;
  557. &lt;p&gt;I have worked on Lemmy for the past four years, bringing it from a prototype to a fully functional Reddit alternative. I wrote the entire federation code and became very familiar with the protocol. &lt;mark&gt;I realized that the same technology easily be used to create a federated encyclopedia.&lt;/mark&gt; As no one else took up such a project, I finally decided to do it on my own and create Ibis. Thanks to my previous experience with the tech stack and the ActivityPub library I created, I was able to complete a proof of concept in a relatively short time of four&amp;nbsp;months.&lt;/p&gt;
  558. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://ibis.wiki/article/Announcing_Ibis,_the_federated_Wikipedia_Alternative@ibis.wiki&quot;&gt;Announcing Ibis, the federated Wikipedia&amp;nbsp;Alternative&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  559. &lt;/blockquote&gt;
  560. &lt;p&gt;Wikipedia décentralisé, je dis oui&amp;#8239;! Merci &lt;a href=&quot;https://alexsirac.com/activitypub-powered-wikis/&quot;&gt;Alex&lt;/a&gt;.&lt;/p&gt;
  561. &lt;p&gt;C’est important pour &lt;a href=&quot;https://larlet.fr/david/2024/02/29/&quot;&gt;diverses&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/03/07/&quot;&gt;raisons&lt;/a&gt;.&lt;/p&gt;
  562. &lt;hr /&gt;
  563. &lt;blockquote lang=&quot;en&quot;&gt;
  564. &lt;p&gt;I think it’s time to admit that my hobby is buying stuff for my new&amp;nbsp;hobby.&lt;/p&gt;
  565. &lt;p&gt;&lt;cite&gt;&lt;em&gt;Chris Hallbeck&lt;/em&gt;, &lt;a href=&quot;https://mastodon.social/@Chrishallbeck/112153815963114685&quot;&gt;sur&amp;nbsp;masto&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
  566. &lt;/blockquote&gt;
  567. &lt;p&gt;&lt;em&gt;Touché.&lt;/em&gt;&lt;/p&gt;
  568. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/apprentissage/&quot;&gt;#apprentissage&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/technique/&quot;&gt;#technique&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/web/&quot;&gt;#web&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  569. </entry>
  570. <entry xml:lang="fr">
  571. <title type="html">Inclusion</title>
  572. <link href="https://larlet.fr/david/2024/03/25/" rel="alternate" type="text/html" />
  573. <updated>2024-03-25T12:00:00+01:00</updated>
  574. <id>https://larlet.fr/david/2024/03/25/</id>
  575. <summary type="html">
  576. &lt;p&gt;Dans le cadre de &lt;del&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Eating_your_own_dog_food&quot;&gt;manger ma propre bouffe pour chien&lt;/a&gt;&lt;/del&gt; mon &lt;a href=&quot;https://fr.wikipedia.org/wiki/Auto%C3%A9quipement&quot;&gt;autoéquipement&lt;/a&gt;, je voulais vérifier si l’implémentation de &lt;a href=&quot;https://oembed.com/&quot;&gt;oEmbed&lt;/a&gt; dans &lt;a href=&quot;https://umap-project.org/fr/&quot;&gt;uMap&lt;/a&gt; était utilisable… et il se trouve que ce n’était pas le cas avant aujourd’hui. Il y aurait encore des pistes d’améliorations mais au moins ça affiche une carte (si vous autorisez les requêtes externes en&amp;nbsp;JS)&amp;nbsp;:&lt;/p&gt;
  577. &lt;style type=&quot;text/css&quot;&gt;
  578. o-embed {
  579. /* Size of the oembed + paragraph + margins. */
  580. height: calc(300px + 1rem + 3rem);
  581. }
  582. &lt;/style&gt;
  583. &lt;o-embed url=&quot;https://umap.openstreetmap.fr/fr/map/grand-tour-de-la-foret-de-ouareau_1037457&quot;&gt;
  584. &lt;p&gt;
  585. Vous devriez voir s’afficher une carte de mon « Grand Tour de la forêt de Ouareau »,
  586. il est probable que cela ne s’exécute pas dans un agrégateur par exemple.
  587. &lt;/p&gt;
  588. &lt;/o-embed&gt;
  589. &lt;script type=&quot;module&quot;&gt;
  590. class OEmbed extends HTMLElement {
  591. static tagName = &#x27;o-embed&#x27;
  592. static register(tagName, registry) {
  593. if(!registry &amp;&amp; (&#x27;customElements&#x27; in globalThis)) {
  594. registry = globalThis.customElements
  595. }
  596. registry?.define(tagName || this.tagName, this)
  597. }
  598. get url() {
  599. return this.getAttribute(&#x27;url&#x27;) || &#x27;&#x27;
  600. }
  601. constructor() {
  602. super()
  603. this.attachShadow({ mode: &#x27;open&#x27; })
  604. }
  605. async connectedCallback() {
  606. let slot = document.createElement(&#x27;slot&#x27;)
  607. this.shadowRoot.appendChild(slot)
  608. const html = await this.fetchText(this.url)
  609. const oEmbedLink = this.extractOembedLink(html)
  610. const oEmbedJson = await this.fetchJson(oEmbedLink)
  611. this.innerHTML = oEmbedJson.html
  612. }
  613. fetchText(url) {
  614. return fetch(url)
  615. .then((data) =&gt; data.text())
  616. .catch(console.error.bind(this))
  617. }
  618. fetchJson(url) {
  619. return fetch(url, { type: &#x27;json&#x27; })
  620. .then((data) =&gt; data.json())
  621. .catch(console.error.bind(this))
  622. }
  623. extractOembedLink(html) {
  624. const parser = new DOMParser()
  625. const htmlDocument = parser.parseFromString(html, &quot;text/html&quot;)
  626. const oEmbedMeta = htmlDocument.documentElement.querySelector(
  627. &#x27;link[type=&quot;application/json+oembed&quot;]&#x27;
  628. )
  629. return oEmbedMeta.href
  630. }
  631. }
  632. OEmbed.register()
  633. &lt;/script&gt;
  634. &lt;p&gt;J’en ai fait un &lt;em&gt;web component&lt;/em&gt; car je compte explorer / publier davantage de cartes par la suite. Je vais essayer d’ajouter des options lorsqu’elles deviendront disponibles côté uMap. Pour l’instant, il faudra vous contenter d’un &lt;code&gt;view-source:&lt;/code&gt; (meilleure fonctionnalité du Web, ne l’oublions&amp;nbsp;jamais).&lt;/p&gt;
  635. &lt;p&gt;Au passage, j’ai mis à jour le moteur de ce site pour pouvoir injecter des morceaux de HTML (et donc CSS/JS) sur des billets en particulier. Je m’amuse&amp;nbsp;bien&amp;nbsp;🧑‍🔬.&lt;/p&gt;
  636. &lt;p&gt;Je compte &lt;a href=&quot;https://larlet.fr/david/2024/03/11/#hr-109&quot;&gt;reparler de cette carte&lt;/a&gt;.&lt;/p&gt;
  637. &lt;hr /&gt;
  638. &lt;p&gt;Beaucoup moins glorieux, j’ai participé à &lt;a href=&quot;https://forum.openstreetmap.fr/t/mise-en-production-umap-v2-1-x-compliquee-perte-des-dernieres-donnees-sauvegardees-sur-52-cartes/22336&quot;&gt;de la perte de données&lt;/a&gt; aujourd’hui. Nous avons eu besoin de trois cerveaux et pas mal d’heures pour comprendre ce qu’il se passait. Il était difficile de tester / imaginer / reproduire autrement que sur le serveur de production. C’est déjà pas mal d’avoir eu la possibilité de passer en lecture seule avant que ça ne touche trop de&amp;nbsp;cartes.&lt;/p&gt;
  639. &lt;p&gt;J’ai appris qu’il ne fallait pas se fier à l’ordre des IDs… lorsqu’ils deviennent des&amp;nbsp;UUIDs&amp;#8239;!&lt;/p&gt;
  640. &lt;hr /&gt;
  641. &lt;blockquote lang=&quot;en&quot;&gt;
  642. &lt;p&gt;A data hoarder’s dream come true: bundle any web page into a single HTML file. You can finally replace that gazillion of open tabs with a gazillion of .html files stored somewhere on your precious little&amp;nbsp;drive.&lt;/p&gt;
  643. &lt;p&gt;Unlike the conventional “Save page as”, monolith not only saves the target document, &lt;mark&gt;it embeds CSS, image, and JavaScript assets all at once,&lt;/mark&gt; producing a single HTML5 document that is a joy to store and&amp;nbsp;share.&lt;/p&gt;
  644. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://github.com/Y2Z/monolith&quot;&gt;monolith&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  645. &lt;/blockquote&gt;
  646. &lt;p&gt;Je me demande si je ne devrais pas avoir recours à ce type d’outil plutôt que de n’extraire que la partie de HTML qui m’intéresse pour garder &lt;a href=&quot;https://larlet.fr/david/2024/02/03/&quot;&gt;une copie des liens&lt;/a&gt; que je lie par ici. C’est pour l’instant un peu fastidieux mais ça me fait aussi découvrir des choses en explorant le code des&amp;nbsp;autres.&lt;/p&gt;
  647. &lt;hr /&gt;
  648. &lt;blockquote lang=&quot;en&quot;&gt;
  649. &lt;p&gt;For this reason, I got more into &lt;mark&gt;“Conflict-free Resolution Data Types” (CRDTs),&lt;/mark&gt; with the goal of understanding what they are, how they work, what are the different libraries out there, and which one would be a good fit for us, if&amp;nbsp;any.&lt;/p&gt;
  650. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://blog.notmyidea.org/a-comparison-of-javascript-crdts.html&quot;&gt;A comparison of JavaScript&amp;nbsp;CRDTs&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  651. &lt;/blockquote&gt;
  652. &lt;p&gt;J’apprends plein de choses à ce sujet grâce à Alexis, c’est chouette à explorer par&amp;nbsp;procuration.&lt;/p&gt;
  653. &lt;hr /&gt;
  654. &lt;blockquote lang=&quot;en&quot;&gt;
  655. &lt;p&gt;To summarize, digital information requires maintenance. It&#x27;s not sufficient to make backups; the backups also need to be maintained, upgraded, transferred, and curated. Without conscientious care, the data of today will be lost forever in a few years. Even with care, it&#x27;s possible through software or hardware changes to lose access forever. That shoebox of old backup CDs will be unreadable&amp;nbsp;soon.&lt;/p&gt;
  656. &lt;p&gt;Which brings us back to those old photo caches. They held negatives and prints, physical objects that stored images. They needed no attention, no curating, no updating. They sat untended and forgotten for decades, but through all that time faithfully held their information, waiting for a future discoverer. As a result, we can all see what the Scott Antarctic expedition saw, and I can see what my great-grandparents looked&amp;nbsp;like.&lt;/p&gt;
  657. &lt;p&gt;&lt;mark&gt;It is a sad irony that modern technology makes it unlikely that future generations will see the images made&amp;nbsp;today.&lt;/mark&gt;&lt;/p&gt;
  658. &lt;p&gt;Ask yourself whether your great-grandchildren will be able to see your photographs. If the images exist only as a digital image file, the answer is almost certainly, &amp;quot;No&amp;quot;. If, however, there are physical prints, the odds improve. Those digital images need to be made real to endure. Without a print, a digital photograph has no&amp;nbsp;future.&lt;/p&gt;
  659. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://commandcenter.blogspot.com/2014/08/prints.html&quot;&gt;command center: Prints&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  660. &lt;/blockquote&gt;
  661. &lt;p&gt;Très vrai &lt;em&gt;et&lt;/em&gt; je me demande si le fait d’avoir des artefacts qui perdurent sur plusieurs générations sans entretien / transmission n’est pas justement un épiphénomène. Le numérique est peut-être plus proche de la transmission orale, une information qui a besoin d’être appropriée par læ récepteur·ice pour qu’elle continue à&amp;nbsp;vivre.&lt;/p&gt;
  662. &lt;p&gt;Ce sera à moi d’apprendre à ma descendance comment garder en vie cette flamme numérique qui vacille à chaque coup de vent de format&amp;nbsp;propriétaire.&lt;/p&gt;
  663. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/dependance/&quot;&gt;#dépendance&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/partage/&quot;&gt;#partage&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/technique/&quot;&gt;#technique&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  664. </entry>
  665. <entry xml:lang="fr">
  666. <title type="html">Cage</title>
  667. <link href="https://larlet.fr/david/2024/03/24/" rel="alternate" type="text/html" />
  668. <updated>2024-03-24T12:00:00+01:00</updated>
  669. <id>https://larlet.fr/david/2024/03/24/</id>
  670. <summary type="html">
  671. &lt;blockquote&gt;
  672. &lt;p&gt;«&amp;nbsp;Serai-je toujours choisie&amp;#8239;? dit-elle avec amertume. Serai-je toujours laissée derrière quand les cavaliers partiront, pour garder la maison pendant qu’ils se couvrent de gloire, et veiller à ce que le repas et le lit soient prêts à leur&amp;nbsp;retour&amp;#8239;?&amp;nbsp;»&lt;/p&gt;
  673. &lt;p&gt;«&amp;nbsp;Un jour viendra bientôt, peut-être, où nul ne rentrera, dit-il. Alors, il y aura besoin de courage sans gloire, car nul ne se souviendra des exploits accomplis dans l’ultime défense de vos foyers. Mais ces exploits n’auront pas été moins vaillants pour être restés sans&amp;nbsp;éloges.&amp;nbsp;»&lt;/p&gt;
  674. &lt;p&gt;Et elle répondit: «&amp;nbsp;Tout cela revient à dire&amp;nbsp;: vous êtes une femme, et votre place est à la maison. Mais quand les hommes seront morts au combat, dans l’honneur, vous pourrez brûler avec elle, car les hommes n’auront plus besoin d’un toit. Mais je suis de la Maison d’Eorl, et non une femme servante. Je puis monter à cheval, je sais manier l’épée&amp;#8239;; et je ne crains ni la souffrance, ni la&amp;nbsp;mort.&amp;nbsp;»&lt;/p&gt;
  675. &lt;p&gt;«&amp;nbsp;Que craignez-vous donc, madame&amp;#8239;?&amp;nbsp;»&amp;nbsp;demanda-t-il.&lt;/p&gt;
  676. &lt;p&gt;«&amp;nbsp;&lt;mark&gt;Une cage&lt;/mark&gt;, dit-elle. Vivre derrière des barreaux, jusqu’à ce que l’habitude et la vieillesse s’en accommodent, et que l’espoir d’accomplir de hauts faits soit au-delà de tout souvenir et de toute&amp;nbsp;envie.&amp;nbsp;»&lt;/p&gt;
  677. &lt;p&gt;&lt;cite&gt;&lt;em&gt;Le Seigneur des Anneaux&lt;/em&gt;, J.R.R. Tolkien, traduction de Daniel&amp;nbsp;Lauzon&lt;/cite&gt;&lt;/p&gt;
  678. &lt;/blockquote&gt;
  679. &lt;p&gt;Il s’agit de mon extrait favori de la trilogie. &lt;em&gt;Éowyn forever&amp;nbsp;&amp;lt;3.&lt;/em&gt;&lt;/p&gt;
  680. &lt;hr /&gt;
  681. &lt;blockquote&gt;
  682. &lt;p&gt;Bref, il s’agit de modéliser le mieux possible les &lt;strong&gt;besoins éditoriaux&lt;/strong&gt; pour ensuite – &lt;em&gt;et seulement ensuite&amp;#8239;!&lt;/em&gt; – réunir les ingrédients techniques. (On voit souvent le contraire arriver en pratique&amp;nbsp;: on plaque des solutions existantes sans nécessairement tenir compte des spécificités propres à un problème, un contexte, une communauté.) Il existe souvent plusieurs solutions possibles, plusieurs morceaux de code différents qui produisent, à première vue, un effet similaire&amp;#8239;; &lt;mark&gt;sauf que les démarches ne se valent pas toutes,&lt;/mark&gt; et c’est justement en tenant compte du contexte particulier qu’on peut trouver chaussure à son pied (ou à celui des&amp;nbsp;autres).&lt;/p&gt;
  683. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://www.lobrassard.net/carnet/2024-03-22-ecrire-coder-editorial.html&quot;&gt;Écrire ou coder&amp;nbsp;l’éditorial&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  684. &lt;/blockquote&gt;
  685. &lt;p&gt;CSS ⨯ Grec ancien ⨯&amp;nbsp;poésie.&lt;/p&gt;
  686. &lt;hr /&gt;
  687. &lt;blockquote lang=&quot;en&quot;&gt;
  688. &lt;p&gt;In principle, these modern pages that burn a ton of CPU when loading could be doing pre-work that means that later interactions on the page are faster and cheaper than on the pages that do less up-front work (this is a common argument in favor of these kinds of pages), &lt;mark&gt;but that’s not the case for pages tested, which are slower&lt;/mark&gt; to load initially, slower on subsequent loads, and slower after they’ve&amp;nbsp;loaded.&lt;/p&gt;
  689. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://danluu.com/slow-device/&quot;&gt;How web bloat impacts users with slow&amp;nbsp;devices&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  690. &lt;/blockquote&gt;
  691. &lt;p&gt;L’article déprimant du jour que devraient lire tou·tes les dévelopeur·euses avec leurs processeurs MX et leurs&amp;nbsp;iPhones.&lt;/p&gt;
  692. &lt;p&gt;&lt;em&gt;Je l’ai&amp;nbsp;lu.&lt;/em&gt;&lt;/p&gt;
  693. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/courage/&quot;&gt;#courage&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/lecture/&quot;&gt;#lecture&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/poesie/&quot;&gt;#poésie&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  694. </entry>
  695. <entry xml:lang="fr">
  696. <title type="html">Intendant</title>
  697. <link href="https://larlet.fr/david/2024/03/23/" rel="alternate" type="text/html" />
  698. <updated>2024-03-23T12:00:00+01:00</updated>
  699. <id>https://larlet.fr/david/2024/03/23/</id>
  700. <summary type="html">
  701. &lt;blockquote lang=&quot;en&quot;&gt;
  702. &lt;p&gt;In &lt;a href=&quot;https://andrewkelley.me/post/why-we-cant-have-nice-software.html&quot;&gt;Why We Can’t Have Nice Software&lt;/a&gt;, I point out this pattern of needless software churn in the mindless quest for profit. This is a perfect example occurring right now. Redict has already reached its peak; it does not need any more serious software development to occur. It does not need to &lt;a href=&quot;https://redis.com/blog/the-future-of-redis/&quot;&gt;pivot to AI&lt;/a&gt;. It can be maintained for decades to come with minimal effort. It can continue to provide a high amount of value for a low amount of labor. That’s the entire point of&amp;nbsp;software!&lt;/p&gt;
  703. &lt;p&gt;Redict does not have any profit left to offer. It no longer needs a fund-raising entity behind it anymore. &lt;mark&gt;It just needs a good project&amp;nbsp;steward.&lt;/mark&gt;&lt;/p&gt;
  704. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://andrewkelley.me/post/redis-renamed-to-redict.html&quot;&gt;Redis Renamed to&amp;nbsp;Redict&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  705. &lt;/blockquote&gt;
  706. &lt;p&gt;Je me pose beaucoup de questions sur cette notion de finitude logicielle. Et sur le fait de parfois créer ma propre nécessité, sans en avoir forcément conscience ou&amp;nbsp;l’intention.&lt;/p&gt;
  707. &lt;p&gt;J’y vois un parallèle avec une frugalité que je n’arrive pas à atteindre, les deux étant probablement&amp;nbsp;liés.&lt;/p&gt;
  708. &lt;p&gt;Il me reste encore tellement de choses à&amp;nbsp;démêler…&lt;/p&gt;
  709. &lt;hr /&gt;
  710. &lt;blockquote lang=&quot;en&quot;&gt;
  711. &lt;p&gt;So, yeah, I’ve been at this for a while, and this is the answer: Write CSS. Not too much. Mostly&amp;nbsp;scoped.&lt;/p&gt;
  712. &lt;p&gt;I’m sure we’ll never argue about how to manage CSS ever&amp;nbsp;again.&lt;/p&gt;
  713. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://www.leereamsnyder.com/write-css-not-too-much-mostly-scoped&quot;&gt;Write CSS. Not too much. Mostly&amp;nbsp;scoped.&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  714. &lt;/blockquote&gt;
  715. &lt;p&gt;Ça commence par le classique «&amp;nbsp;pour ou contre Tailwind&amp;nbsp;» mais après il y a des choses&amp;nbsp;inspirantes.&lt;/p&gt;
  716. &lt;hr /&gt;
  717. &lt;blockquote lang=&quot;en&quot;&gt;
  718. &lt;p&gt;quick q, however: how do they get off the worm when they’ve arrived at their&amp;nbsp;destination&lt;/p&gt;
  719. &lt;p&gt;keep noticing that the movie cuts before they get off, Denis my friend you can’t fool me, how do you stop riding the worm, answer&amp;nbsp;us&lt;/p&gt;
  720. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://youngvulgarian.substack.com/p/sydney-sweeney-if-youre-free-on-thursday&quot;&gt;Sydney Sweeney, if you’re free on&amp;nbsp;Thursday,&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  721. &lt;/blockquote&gt;
  722. &lt;p&gt;Tiens c’est vrai ça&amp;#8239;! 🤔🤯&lt;/p&gt;
  723. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/dependance/&quot;&gt;#dépendance&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/psychologie/&quot;&gt;#psychologie&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/technique/&quot;&gt;#technique&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  724. </entry>
  725. <entry xml:lang="fr">
  726. <title type="html">Fourchette</title>
  727. <link href="https://larlet.fr/david/2024/03/21/" rel="alternate" type="text/html" />
  728. <updated>2024-03-21T12:00:00+01:00</updated>
  729. <id>https://larlet.fr/david/2024/03/21/</id>
  730. <summary type="html">
  731. &lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://larlet.fr/david/2024/03/19/&quot;&gt;Suite&lt;/a&gt; des &lt;a href=&quot;https://larlet.fr/david/2024/03/20/&quot;&gt;aventures&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
  732. &lt;p&gt;Un peu &lt;a href=&quot;https://gitlab.com/davidbgk/page-crypt-web-component#pagecrypt-web-component&quot;&gt;plus de documentation&lt;/a&gt; (&lt;a href=&quot;https://davidbgk.gitlab.io/page-crypt-web-component/&quot;&gt;la démo&lt;/a&gt; servant aussi d’introduction). Une &lt;a href=&quot;https://gitlab.com/davidbgk/page-crypt-web-component/-/blob/main/LICENSE&quot;&gt;licence AGPLv3&lt;/a&gt; qui soit &lt;a href=&quot;https://github.com/Greenheart/pagecrypt?tab=AGPL-3.0-1-ov-file#readme&quot;&gt;compatible avec l’implémentation principale&lt;/a&gt; dont je m’inspire. Je ne sais pas trop si c’est un &lt;em&gt;fork&lt;/em&gt; au final, c’est assez hybride comme nouvelle branche, j’ai plus l’impression d’une&amp;nbsp;convergence.&lt;/p&gt;
  733. &lt;p&gt;J’ai surtout travaillé sur l’intégration du formulaire de saisie du mot de passe qui se situe maintenant dans le &lt;em&gt;Web Component&lt;/em&gt;. Je voulais privilégier la simplicité d’usage, ce qui implique de prendre quelques raccourcis. J’ai beaucoup hésité à utiliser &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog&quot;&gt;un élément &lt;code&gt;&amp;lt;dialog&amp;gt;&lt;/code&gt;&lt;/a&gt; pour le formulaire mais j’ai préféré rester&amp;nbsp;basique.&lt;/p&gt;
  734. &lt;p&gt;Il y a encore du travail mais la base me semble utilisable. C’est en essayant de l’intégrer par ailleurs que je vais me rendre compte de tous les défauts&amp;nbsp;actuels.&lt;/p&gt;
  735. &lt;hr /&gt;
  736. &lt;p&gt;&lt;a href=&quot;https://redis.io/&quot;&gt;Redis&lt;/a&gt; a maintenant un &lt;em&gt;fork&lt;/em&gt;&amp;nbsp;: &lt;a href=&quot;https://codeberg.org/redict/redict&quot;&gt;redict&lt;/a&gt; suite à un &lt;a href=&quot;https://github.com/redis/redis-doc/commit/69921f506c02f65606498cfb4c083c6d8f91f125&quot;&gt;changement de licence&lt;/a&gt; qui n’est plus tout à fait open-source, du moins tel que défini par &lt;a href=&quot;https://opensource.org/&quot;&gt;l’OSI&lt;/a&gt;.&lt;/p&gt;
  737. &lt;hr /&gt;
  738. &lt;p&gt;En ayant repris un entraînement physique assez intensif pour récupérer une forme acceptable (car &lt;a href=&quot;https://larlet.fr/david/2024/01/09/&quot;&gt;j’ai quand même été immobilisé&lt;/a&gt; un moment), je me rends compte que ça prend un temps non&amp;nbsp;négligeable.&lt;/p&gt;
  739. &lt;p&gt;Un peu par hasard, je commence un traitement AKiLEiNE TANO(+NOK). On va voir si ça permet de gagner du temps dans la préparation des pieds, retours dans un&amp;nbsp;mois.&lt;/p&gt;
  740. &lt;p&gt;J’ai aussi réduit mon coup de fourchette car le printemps s’en vient et je vais moins avoir besoin de me protéger du froid. Même si cette sortie course du jour par -15°C en ressenti était&amp;nbsp;piquante&amp;#8239;!&lt;/p&gt;
  741. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/communaute/&quot;&gt;#communauté&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/opensource/&quot;&gt;#opensource&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/technique/&quot;&gt;#technique&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  742. </entry>
  743. <entry xml:lang="fr">
  744. <title type="html">PageCrypt</title>
  745. <link href="https://larlet.fr/david/2024/03/20/" rel="alternate" type="text/html" />
  746. <updated>2024-03-20T12:00:00+01:00</updated>
  747. <id>https://larlet.fr/david/2024/03/20/</id>
  748. <summary type="html">
  749. &lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/03/19/&quot;&gt;J’y ai passé ma soirée&lt;/a&gt; mais j’ai un &lt;a href=&quot;https://davidbgk.gitlab.io/page-crypt-web-component/&quot;&gt;truc qui fonctionne pour une démo&lt;/a&gt;. Ça ressemble beaucoup à un &lt;em&gt;patchwork&lt;/em&gt; de bouts de code récupérés &lt;a href=&quot;https://www.maxlaumeister.com/pagecrypt/&quot;&gt;ici&lt;/a&gt; et &lt;a href=&quot;https://github.com/Greenheart/pagecrypt&quot;&gt;là&lt;/a&gt; puis &lt;a href=&quot;https://github.com/MaxLaumeister/PageCrypt/blob/master/python/encrypt.py&quot;&gt;aussi là&lt;/a&gt; pour la partie&amp;nbsp;Python.&lt;/p&gt;
  750. &lt;p&gt;Il y a encore pas mal de travail —&amp;nbsp;notamment pour rendre la page suffisamment accessible&amp;nbsp;— mais au moins la partie crypto / boîte noire semble fonctionner à la fois du côté génération en Python et consommation en JS. C’est la partie qui me faisait un peu peur et sur laquelle j’ai un peu patiné car c’est bien au-delà de mes compétences et que je ne veux pas prendre l’initiative de trop adapter sans comprendre les enjeux niveau&amp;nbsp;sécurité.&lt;/p&gt;
  751. &lt;p&gt;Le dépôt est &lt;a href=&quot;https://gitlab.com/davidbgk/page-crypt-web-component&quot;&gt;par ici&lt;/a&gt;. Il faut encore que je décide si le formulaire pour le mot de passe devient un &lt;em&gt;web component&lt;/em&gt; dédié et/ou un sous-composant, je ne suis pas satisfait du couplage implicite actuel. Itération, itération.&lt;/p&gt;
  752. &lt;p&gt;En bonus, il est possible d’accéder directement au contenu de la page en mettant le mot de passe en ancre de l’URL. J’ai appris au passage que ce fragment d’URL n’était pas transmis dans la requête et ne restait que dans l’historique du&amp;nbsp;navigateur.&lt;/p&gt;
  753. &lt;p&gt;&lt;em&gt;Si tu n’as pas honte de ton premier commit, tout ça… la suite&amp;nbsp;demain.&lt;/em&gt;&lt;/p&gt;
  754. &lt;hr /&gt;
  755. &lt;blockquote&gt;
  756. &lt;p&gt;Les mots ont un impact et, inconsciemment, quand vous ne les utilisez pas dans la bonne manière, vous minimisez mon handicap et donc vous faites moins d&#x27;effort que&amp;nbsp;nécessaire.&lt;/p&gt;
  757. &lt;p&gt;Autre point, dit-on «&amp;nbsp;personne en situation en handicap&amp;nbsp;» ou «&amp;nbsp;personne&amp;nbsp;handicapée&amp;#8239;?&amp;nbsp;»&lt;/p&gt;
  758. &lt;p&gt;Là, encore, il y a une&amp;nbsp;subtilité.&lt;/p&gt;
  759. &lt;p&gt;Je vais à un événement tech où les conférences ne sont pas sous-titrées. Je suis en situation de handicap puisque les conférences ne me sont pas du tout&amp;nbsp;accessibles.&lt;/p&gt;
  760. &lt;p&gt;Je vais à un événement tech où les conférences sont toutes sous-titrées. Je ne suis pas en situation de handicap puisque les conférences me sont totalement&amp;nbsp;accessibles.&lt;/p&gt;
  761. &lt;p&gt;Voici la différence. &lt;mark&gt;Être en situation de handicap, c’est subir la situation faute&amp;nbsp;d’accessibilité.&lt;/mark&gt;&lt;/p&gt;
  762. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://emmanuelle-aboaf.netlify.app/blog/article/n-ayez-pas-peur-des-mots&quot;&gt;N’ayez pas peur des&amp;nbsp;mots&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  763. &lt;/blockquote&gt;
  764. &lt;p&gt;Cette page ne contient pas le contenu du HTML qui s’affiche et ça me rend triste car j’en apprécie le contenu qui m’apprend des choses / me fait&amp;nbsp;réfléchir.&lt;/p&gt;
  765. &lt;p&gt;Un autre angle de&amp;nbsp;l’accessibilité&amp;#8239;?&lt;/p&gt;
  766. &lt;hr /&gt;
  767. &lt;blockquote lang=&quot;en&quot;&gt;
  768. &lt;p&gt;So don’t publish for the&amp;nbsp;world.&lt;/p&gt;
  769. &lt;p&gt;When I write something here on my website, I’m not thinking about the world reading it. That would be paralyzing. I do sometimes imagine that one person is reading it; someone just like me who hasn’t yet had this particular thought, or come up with that particular&amp;nbsp;idea.&lt;/p&gt;
  770. &lt;p&gt;I’m writing for myself. &lt;mark&gt;I write to figure out what I think.&lt;/mark&gt; I also publish mostly for myself—a public archive for future me. But if what I publish just happens to connect with one other person, I’m&amp;nbsp;glad.&lt;/p&gt;
  771. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://adactio.com/journal/20996&quot;&gt;What the world&amp;nbsp;needs&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  772. &lt;/blockquote&gt;
  773. &lt;hr /&gt;
  774. &lt;blockquote lang=&quot;en&quot;&gt;
  775. &lt;p&gt;My goal, for this digital place I’m creating, is to make you go away. And that’s not because I want to be left alone but because &lt;mark&gt;I hope to help you discover new digital places to explore.&lt;/mark&gt; If I see you again, it’s because you decided to come back, and not because you got lost and trapped inside the digital walls I&amp;nbsp;erected.&lt;/p&gt;
  776. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://manuelmoreale.com/digital-walled-gardens&quot;&gt;Digital walled&amp;nbsp;gardens&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  777. &lt;/blockquote&gt;
  778. &lt;p&gt;🌱&lt;/p&gt;
  779. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/laboratoire/&quot;&gt;#laboratoire&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/opensource/&quot;&gt;#opensource&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/technique/&quot;&gt;#technique&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  780. </entry>
  781. <entry xml:lang="fr">
  782. <title type="html">Excitation</title>
  783. <link href="https://larlet.fr/david/2024/03/19/" rel="alternate" type="text/html" />
  784. <updated>2024-03-19T12:00:00+01:00</updated>
  785. <id>https://larlet.fr/david/2024/03/19/</id>
  786. <summary type="html">
  787. &lt;p&gt;Il y a cette petite étincelle qui s’allume lorsque j’entrevois la possibilité de démarrer un petit bout de code qui pourrait changer mon/le monde (en toute&amp;nbsp;modestie).&lt;/p&gt;
  788. &lt;p&gt;Idée du jour&amp;nbsp;: faire un &lt;em&gt;web component&lt;/em&gt; qui s’intitulerait &lt;code&gt;&amp;lt;page-crypt&amp;gt;&lt;/code&gt; en s’inspirant grandement de &lt;a href=&quot;https://github.com/MaxLaumeister/PageCrypt/&quot;&gt;PageCrypt&lt;/a&gt; (et de sa &lt;a href=&quot;https://github.com/Greenheart/pagecrypt&quot;&gt;version à jour&lt;/a&gt;). La génération de la page chiffrée pourrait &lt;a href=&quot;https://github.com/MaxLaumeister/PageCrypt/blob/master/python/encrypt.py&quot;&gt;se faire en Python&lt;/a&gt;.&lt;/p&gt;
  789. &lt;p&gt;Cela essayerait de résoudre une problématique d’accès à du contenu privé sur des pages pré-générées de manière statique. Il est probable que j’en ai besoin sous peu afin d’afficher une progression personnalisée d’informations sensibles dans un contexte pro, ce qui me motive d’autant&amp;nbsp;plus.&lt;/p&gt;
  790. &lt;p&gt;Je découvre au passage qu’il n’est pas trivial de &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem&quot;&gt;convertir de l’unicode en base64 via JS&lt;/a&gt;.&lt;/p&gt;
  791. &lt;p&gt;Note&amp;nbsp;: il existe aussi &lt;a href=&quot;https://github.com/robinmoisson/staticrypt&quot;&gt;StatiCrypt&lt;/a&gt;.&lt;/p&gt;
  792. &lt;hr /&gt;
  793. &lt;blockquote lang=&quot;en&quot;&gt;
  794. &lt;p&gt;If majority is always right – let’s eat shit… millions of flies can’t be&amp;nbsp;wrong.&lt;/p&gt;
  795. &lt;p&gt;&lt;cite&gt;&lt;em&gt;Statek&lt;/em&gt;, Waldemar Łysiak, 1994&lt;/cite&gt;&lt;/p&gt;
  796. &lt;/blockquote&gt;
  797. &lt;p&gt;Cette citation aura fait ma&amp;nbsp;journée.&lt;/p&gt;
  798. &lt;hr /&gt;
  799. &lt;p&gt;Je suis frustré par les capacités d’export des données de &lt;a href=&quot;https://larlet.fr/david/2024/03/14/&quot;&gt;la montre&lt;/a&gt;. En inspectant, je pourrais récupérer les JSON qui passent avec Playwright mais c’est un peu la face nord. &lt;em&gt;Ça me fait glousser qu’un tel site utilise&amp;nbsp;Vite.&lt;/em&gt;&lt;/p&gt;
  800. &lt;p&gt;Il faut que je teste &lt;a href=&quot;https://github.com/xballoy/coros-api&quot;&gt;coros-api&lt;/a&gt; (TypeScript) et/ou &lt;a href=&quot;https://github.com/futoshita/Coros-Training-Hub-Exporter&quot;&gt;Coros-Training-Hub-Exporter&lt;/a&gt; (Java), je ne suis pas le seul à vouloir récupérer ces&amp;nbsp;données.&lt;/p&gt;
  801. &lt;p&gt;Aussi, il y a des données qui ne sont pas exposées par le TrainingHub mais auxquelles on semble avoir accès &lt;a href=&quot;https://tryterra.co/integrations/coros&quot;&gt;via une API tierce&lt;/a&gt; (et très dispendieuse&amp;#8239;!). Étrange et&amp;nbsp;décevant…&lt;/p&gt;
  802. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/apprentissage/&quot;&gt;#apprentissage&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/enthousiasme/&quot;&gt;#enthousiasme&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/technique/&quot;&gt;#technique&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  803. </entry>
  804. <entry xml:lang="fr">
  805. <title type="html">Casquettes</title>
  806. <link href="https://larlet.fr/david/2024/03/18/" rel="alternate" type="text/html" />
  807. <updated>2024-03-18T12:00:00+01:00</updated>
  808. <id>https://larlet.fr/david/2024/03/18/</id>
  809. <summary type="html">
  810. &lt;p&gt;L’impression de porter beaucoup de casquettes dans la même journée en ce moment. Genre ces dernières années en fait. Je ne sais pas encore si ça mène à l’épuisement ou si c’est ce qui me permet de ne pas&amp;nbsp;m’ennuyer.&lt;/p&gt;
  811. &lt;p&gt;Je vais bientôt pouvoir ajouter «&amp;nbsp;nocoder&amp;nbsp;» à mon CV. Petite joie technique&amp;nbsp;(?) de la journée, on a réussi à connecter une feuille AiTable à la banque. On place une date dans une cellule et ça programme un virement de l’autre côté. C’était marrant de le faire en&amp;nbsp;binôme.&lt;/p&gt;
  812. &lt;hr /&gt;
  813. &lt;blockquote lang=&quot;en&quot;&gt;
  814. &lt;p&gt;When you’re designing a piece of software, the single most important thing to design for is understandability. Security, performance, and correctness are all important, but &lt;mark&gt;they come after&amp;nbsp;understandability.&lt;/mark&gt;&lt;/p&gt;
  815. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://ntietz.com/blog/the-most-important-goal-in-designing-software-is-understandability/&quot;&gt;The most important goal in designing software is&amp;nbsp;understandability&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  816. &lt;/blockquote&gt;
  817. &lt;hr /&gt;
  818. &lt;blockquote lang=&quot;en&quot;&gt;
  819. &lt;p&gt;Open Source is rewarding- but it can also be&amp;nbsp;exhausting.&lt;/p&gt;
  820. &lt;p&gt;The linking project’s code is provided as-is, and is not actively&amp;nbsp;maintained.&lt;/p&gt;
  821. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://unmaintained.tech/&quot;&gt;No Maintenance&amp;nbsp;Intended&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  822. &lt;/blockquote&gt;
  823. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/adaptation/&quot;&gt;#adaptation&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/addiction/&quot;&gt;#addiction&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/evolution/&quot;&gt;#évolution&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  824. </entry>
  825. <entry xml:lang="fr">
  826. <title type="html">Descriptions</title>
  827. <link href="https://larlet.fr/david/2024/03/16/" rel="alternate" type="text/html" />
  828. <updated>2024-03-16T12:00:00+01:00</updated>
  829. <id>https://larlet.fr/david/2024/03/16/</id>
  830. <summary type="html">
  831. &lt;blockquote&gt;
  832. &lt;p&gt;Le crépuscule était tombé lorsqu’ils partirent enfin&amp;nbsp;: rampant par-dessus le bord ouest du vallon, ils passèrent comme des fantômes dans le pays accidenté en bordure de la route. La Lune n’était plus qu’à trois nuits de son plein, mais elle ne devait pas franchir les Montagnes avant minuit ou presque, et le début de leur voyage se fit dans la plus grande obscurité. […]&lt;/p&gt;
  833. &lt;p&gt;&lt;mark&gt;Enfin, quand la nuit se fit vieille et que la fatigue les eut déjà rattrapés&lt;/mark&gt;&amp;nbsp;[…]&lt;/p&gt;
  834. &lt;p&gt;Dès la tombée de la nuit, la terre s’étant évanouie en un gris informe, ils se remirent en route. […]&lt;/p&gt;
  835. &lt;p&gt;Le jour était en train d’éclore, et ils virent que les Montagnes étaient à présent beaucoup plus distantes, fuyant vers l’est en une longue courbe qui se perdait à l’horizon. […]&lt;/p&gt;
  836. &lt;p&gt;La lumière croissante leur révéla une terre déjà moins aride et moins ravagée. Les Montagnes se dressaient encore de façon menaçante sur leur gauche, mais la route du Sud était visible tout près d’eux, et elle s’éloignait à présent des racines noires des collines, obliquant vers l’ouest. […]&lt;/p&gt;
  837. &lt;p&gt;&lt;cite&gt;&lt;em&gt;Le Seigneur des Anneaux&lt;/em&gt;, J.R.R. Tolkien, traduction de Daniel&amp;nbsp;Lauzon&lt;/cite&gt;&lt;/p&gt;
  838. &lt;/blockquote&gt;
  839. &lt;p&gt;Je ne sais pas si j’y suis plus sensible à &lt;a href=&quot;https://larlet.fr/david/2024/02/06/&quot;&gt;cette relecture&lt;/a&gt; ou s’il s’agit d’améliorations avec la nouvelle traduction mais je remarque des tournures de phrases qui m’inspirent pour raconter des aventures en nature. Le sujet devenant l’environnement pour traduire les contraintes qu’il&amp;nbsp;impose.&lt;/p&gt;
  840. &lt;p&gt;Puisqu’il faut s’éloigner du style de &lt;a href=&quot;https://comptoir.org/2024/03/11/sylvain-tesson-les-vers-de-la-reaction/&quot;&gt;Sylvain Tesson&lt;/a&gt;…&lt;/p&gt;
  841. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/aventure/&quot;&gt;#aventure&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/ecriture/&quot;&gt;#écriture&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/lecture/&quot;&gt;#lecture&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  842. </entry>
  843. <entry xml:lang="fr">
  844. <title type="html">Montre 2</title>
  845. <link href="https://larlet.fr/david/2024/03/14/" rel="alternate" type="text/html" />
  846. <updated>2024-03-14T12:00:00+01:00</updated>
  847. <id>https://larlet.fr/david/2024/03/14/</id>
  848. <summary type="html">
  849. &lt;p&gt;J’ai reçu un &lt;a href=&quot;https://larlet.fr/david/2024/03/02/&quot;&gt;nouveau jouet&lt;/a&gt; aujourd’hui. Alors je me suis amusé. Il me reste beaucoup de données et fonctionnalités à&amp;nbsp;explorer.&lt;/p&gt;
  850. &lt;p&gt;J’ai finalement opté pour la version non-Pro afin de privilégier un format qui me convient mieux (taille / poids), j’ai pu tester en magasin les deux&amp;nbsp;auparavant.&lt;/p&gt;
  851. &lt;p&gt;Il faut que j’apprenne à ne pas courir &lt;em&gt;contre&lt;/em&gt; mais &lt;em&gt;avec&lt;/em&gt; la montre. J’ai trop tendance à pousser alors qu’elle sait bien à mon poignet que mon cœur ne va pas&amp;nbsp;suivre.&lt;/p&gt;
  852. &lt;p&gt;Il y a du travail à faire pour transformer un jugement en&amp;nbsp;allié.&lt;/p&gt;
  853. &lt;blockquote&gt;
  854. &lt;p&gt;Tu peux parler fort, exhiber ton savoir, assener tes arguments, brandir ta culture…&lt;br /&gt;
  855. … mais la conversation est à sens unique et totalement stérile.&lt;br /&gt;
  856. Au terme de l’échange tu demeures exactement le même, tu n’as pas évolué d’un&amp;nbsp;pouce.&lt;/p&gt;
  857. &lt;p&gt;La rencontre n’a pas eu&amp;nbsp;lieu.&lt;/p&gt;
  858. &lt;p&gt;Ou bien, tu peux laisser l’autre s’exprimer, l’écouter. Et alors te hisser sur la marche qu’il érige puis en poser une à ton tour.&lt;br /&gt;
  859. Vois ta balle de tennis comme le lien qui te rattache aux autres. Cultive-le tant que tu peux.&lt;br /&gt;
  860. Ne cherche plus à lutter contre les autres pour être meilleur, Max, mais deviens meilleur grâce à&amp;nbsp;eux.&lt;/p&gt;
  861. &lt;p&gt;Le tennis est un art. L’art de&amp;nbsp;l’échange.&lt;/p&gt;
  862. &lt;p&gt;&lt;cite&gt;&lt;em&gt;Max Winson&lt;/em&gt;, Jérémie&amp;nbsp;Moreau&lt;/cite&gt;&lt;/p&gt;
  863. &lt;/blockquote&gt;
  864. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/deception/&quot;&gt;#déception&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/enthousiasme/&quot;&gt;#enthousiasme&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/sport/&quot;&gt;#sport&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  865. </entry>
  866. <entry xml:lang="fr">
  867. <title type="html">Sérendipité</title>
  868. <link href="https://larlet.fr/david/2024/03/13/" rel="alternate" type="text/html" />
  869. <updated>2024-03-13T12:00:00+01:00</updated>
  870. <id>https://larlet.fr/david/2024/03/13/</id>
  871. <summary type="html">
  872. &lt;blockquote lang=&quot;en&quot;&gt;
  873. &lt;p&gt;Discovering things via links is way more fun than most algorithmically-driven discovery — in my humble&amp;nbsp;opinion.&lt;/p&gt;
  874. &lt;p&gt;As an analogy, it’s kind of like going on vacation to a new place and staying/living amongst the locals vs. staying at a manicured 5-star hotel that gives you no reason to leave. &lt;mark&gt;Can you really say you visited the location if you never left the&amp;nbsp;hotel?&lt;/mark&gt;&lt;/p&gt;
  875. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://blog.jim-nielsen.com/2024/following-links/&quot;&gt;Following Links - Jim Nielsen’s&amp;nbsp;Blog&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  876. &lt;/blockquote&gt;
  877. &lt;p&gt;Je suis toujours étonné qu’il n’y ait pas des navigateurs qui affichent la toile de nos navigations de manière plus ou moins artistiques. On pourrait avoir des topologies de navigations, potentiellement quotidiennes, des points de comparaison avec d’autres personnes, une représentation de la curiosité, de l’enfermement dans des silos, etc.&lt;/p&gt;
  878. &lt;blockquote lang=&quot;en&quot;&gt;
  879. &lt;p&gt;A surprising number of other features can be expressed in terms of&amp;nbsp;links.&lt;/p&gt;
  880. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://subconscious.substack.com/p/all-you-need-is-links&quot;&gt;All you need is&amp;nbsp;links&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  881. &lt;/blockquote&gt;
  882. &lt;hr /&gt;
  883. &lt;blockquote lang=&quot;en&quot;&gt;
  884. &lt;p&gt;&lt;code&gt;printf &#x27;\e]8;;http://example.com\e\\This is a link\e]8;;\e\\\n&#x27;&lt;/code&gt;&lt;/p&gt;
  885. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://notes.billmill.org/programming/bash/Hyperlink_escape_codes.html&quot;&gt;Hyperlink escape&amp;nbsp;codes&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  886. &lt;/blockquote&gt;
  887. &lt;p&gt;Qui me fait découvre &lt;a href=&quot;https://github.com/nedbat/watchgha&quot;&gt;watchgha&lt;/a&gt;, bien pratique pour avoir un accès rapide aux résultats de l’intégration&amp;nbsp;continue.&lt;/p&gt;
  888. &lt;figure&gt;
  889. &lt;a href=&quot;https://larlet.fr/static/david/2024/2024-03-13-watchgha.png&quot;
  890. title=&quot;Cliquer pour une version haute résolution&quot;&gt;
  891. &lt;img
  892. src=&quot;https://larlet.fr/static/david/2024/2024-03-13-watchgha.png&quot;
  893. width=&quot;2422&quot; height=&quot;192&quot;
  894. srcset=&quot;/static/david/2024/2024-03-13-watchgha.png 2422w, /static/david/2024/2024-03-13-watchgha.png 660w, /static/david/2024/2024-03-13-watchgha.png 990w, /static/david/2024/2024-03-13-watchgha.png 1320w&quot;
  895. sizes=&quot;min(100vw, calc(100vh * 2422 / 192))&quot;
  896. loading=&quot;lazy&quot;
  897. decoding=&quot;async&quot;
  898. alt=&quot;Capture d’écran du résultat de la commande git runs avec l’alias git qui pointe vers watchgha.&quot;&gt;
  899. &lt;/a&gt;
  900. &lt;figcaption&gt;Ça passe 🎉 (je vais essayer de faire une démo d’oEmbed par ici à un&amp;nbsp;moment).&lt;/figcaption&gt;
  901. &lt;/figure&gt;
  902. &lt;hr /&gt;
  903. &lt;blockquote&gt;
  904. &lt;p&gt;Le constat est simple&amp;nbsp;: je trouve que le Web ne va pas fort en ce moment, et je voulais à ma petite échelle montrer un peu&amp;nbsp;l’exemple.&lt;/p&gt;
  905. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://vincent-valentin.name/articles/motivation-s&quot;&gt;Motivation(s) chez Vincent&amp;nbsp;Valentin.&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  906. &lt;/blockquote&gt;
  907. &lt;p&gt;Très chouettes publications cette dernière semaine en tout cas&amp;nbsp;&amp;lt;3.&lt;/p&gt;
  908. &lt;hr /&gt;
  909. &lt;p&gt;Rétropédalage sur &lt;a href=&quot;https://larlet.fr/david/2024/03/12/&quot;&gt;le surlignage&lt;/a&gt;. Beaucoup trop de retours qui trouvent cela davantage distrayant qu’utile. Pour l’instant, j’ai gardé la logique mais sans animation. Je me demande si je vais en faire un &lt;em&gt;opt-in&lt;/em&gt; à un&amp;nbsp;moment.&lt;/p&gt;
  910. &lt;hr /&gt;
  911. &lt;blockquote&gt;
  912. &lt;p&gt;Puisque la demi-mesure ne fait pas partie de mon vocabulaire, j’ai tenu à travailler au plus proche des techniques médiévales. &lt;mark&gt;J’ai ainsi appris à encrer à la plume, dorer à la feuille d’or pur, peindre aux pigments en poudre et relier au cuir de chèvre.&lt;/mark&gt; Je m’y suis dévouée corps et âme, dédiant le moindre de mon temps libre à la concrétisation de ce projet qui devait se mener dans le plus grand secret. Je m’attelais à l’ouvrage à la moindre opportunité, me levant parfois à l’aube pour grappiller une heure de calligraphie avant d’aller bosser ou prolongeant des soirées jusqu’au petit matin lorsque K travaillait de&amp;nbsp;nuit.&lt;/p&gt;
  913. &lt;p&gt;Au total j’ai passé plus de 230&amp;nbsp;heures sur ce&amp;nbsp;projet&lt;/p&gt;
  914. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://www.hypothermia.fr/2024/03/chiroto-t-datoca/&quot;&gt;Chiroto T. Datoca&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  915. &lt;/blockquote&gt;
  916. &lt;p&gt;Ce moment où tu te rends compte que tu n’es pas perfectionniste en fait 🤯. Chapeau bas&amp;nbsp;l’artiste.&lt;/p&gt;
  917. &lt;hr /&gt;
  918. &lt;blockquote lang=&quot;en&quot;&gt;
  919. &lt;p&gt;Rust-like error handling in Python, with type-safety in&amp;nbsp;mind.&lt;/p&gt;
  920. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://github.com/alexandermalyga/poltergeist&quot;&gt;poltergeist&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  921. &lt;/blockquote&gt;
  922. &lt;p&gt;J’ai très souvent retrouvé le besoin de ce &lt;em&gt;pattern&lt;/em&gt; dans mes&amp;nbsp;projets.&lt;/p&gt;
  923. &lt;hr /&gt;
  924. &lt;p&gt;Sortie de la &lt;a href=&quot;https://pypi.org/project/pressoir-cli/2.0.0/&quot;&gt;version 2.0&amp;nbsp;de pressoir-cli&lt;/a&gt; (oui, &lt;a href=&quot;https://larlet.fr/david/2024/02/16/&quot;&gt;c’est ma période&lt;/a&gt;). L’une des prochaines étapes sera de générer sa propre documentation en l’utilisant. Ça peut paraitre stupide mais c’est trop &lt;em&gt;meta&lt;/em&gt; pour ne pas le&amp;nbsp;faire&amp;nbsp;😇.&lt;/p&gt;
  925. &lt;hr /&gt;
  926. &lt;blockquote&gt;
  927. &lt;p&gt;Nginx de part sa robustesse, sa structure minimaliste et son fonctionnement événementiel asynchrone est un serveur web plébiscité pour ses performances. Mais ce n’est pas parce qu’on a une Porsche qu’il ne faut pas tenter de la rendre encore plus&amp;nbsp;puissante&amp;#8239;!&lt;/p&gt;
  928. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://buzut.net/optimiser-nginx/&quot;&gt;Optimisez Nginx pour de meilleurs&amp;nbsp;performances&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  929. &lt;/blockquote&gt;
  930. &lt;p&gt;Pour lecture&amp;nbsp;ultérieure.&lt;/p&gt;
  931. &lt;hr /&gt;
  932. &lt;blockquote&gt;
  933. &lt;p&gt;&lt;code&gt;font-size: calc(1rem + 0.25vw);&lt;/code&gt;&lt;/p&gt;
  934. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://jameshfisher.com/2024/03/12/a-formula-for-responsive-font-size/&quot;&gt;A formula for responsive&amp;nbsp;font-size&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  935. &lt;/blockquote&gt;
  936. &lt;p&gt;Moins poussé que le &lt;a href=&quot;https://utopia.fyi/type/calculator?c=320,18,1.2,1240,20,1.25,5,2,&amp;amp;s=0.75%7C0.5%7C0.25,1.5%7C2%7C3%7C4%7C6,s-l&amp;amp;g=s,l,xl,12&quot;&gt;Fluid type scale calculator&lt;/a&gt; mais dans un contexte plus minimaliste / simple ça fait déjà le&amp;nbsp;taf.&lt;/p&gt;
  937. &lt;hr /&gt;
  938. &lt;blockquote lang=&quot;en&quot;&gt;
  939. &lt;p&gt;To enable such progress, &lt;strong&gt;the Web Consortium too has evolved, always taking a people-first approach:&lt;/strong&gt; the Web must continue to serve humanity. The first such inflection point was the creation of the patent policy in 2003&amp;nbsp;which assures that specifications can be implemented on a Royalty-Free basis and used at no cost, thus boosting adoption and usage. Another is the creation in 2011&amp;nbsp;of W3C Community and Business Groups which enable everyone –not just W3C Members– to participate in the development of the Web or its technologies. Our most recent inflection point was &lt;mark&gt;re-launching the Consortium in 2023&amp;nbsp;as a public-interest non-profit organization&lt;/mark&gt; to work for the good of the&amp;nbsp;public.&lt;/p&gt;
  940. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://www.w3.org/blog/2024/from-a-humble-beginning-35-years-ago-the-web-is-now-central-to-the-daily-lives-of-billions/&quot;&gt;From a humble beginning 35&amp;nbsp;years ago, the Web is now central to the daily lives of&amp;nbsp;billions&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  941. &lt;/blockquote&gt;
  942. &lt;p&gt;35&amp;nbsp;ans de liens. Merci Tim &lt;em&gt;et al.&lt;/em&gt; d’avoir permis&amp;nbsp;cela.&lt;/p&gt;
  943. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/liens/&quot;&gt;#liens&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/partage/&quot;&gt;#partage&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/web/&quot;&gt;#web&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  944. </entry>
  945. <entry xml:lang="fr">
  946. <title type="html">Surligner</title>
  947. <link href="https://larlet.fr/david/2024/03/12/" rel="alternate" type="text/html" />
  948. <updated>2024-03-12T12:00:00+01:00</updated>
  949. <id>https://larlet.fr/david/2024/03/12/</id>
  950. <summary type="html">
  951. &lt;blockquote lang=&quot;en&quot;&gt;
  952. &lt;p&gt;A small JavaScript library &lt;mark&gt;to create and animate annotations on a web&amp;nbsp;page&lt;/mark&gt;&lt;/p&gt;
  953. &lt;p&gt;Rough Notation uses RoughJS to create a hand-drawn look and feel. Elements can be annotated in a number of different styles. Animation duration and delay can be configured, or just turned&amp;nbsp;off.&lt;/p&gt;
  954. &lt;p&gt;Rough Notation is 3.8kb in size when gzipped, and the code is available on&amp;nbsp;GitHub.&lt;/p&gt;
  955. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://roughnotation.com/&quot;&gt;Rough&amp;nbsp;Notation&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  956. &lt;/blockquote&gt;
  957. &lt;p&gt;J’utilise cette façon de mettre en avant des fragments de citations &lt;a href=&quot;https://larlet.fr/david/2020/02/21/#surlignage&quot;&gt;depuis un petit moment&lt;/a&gt; et en passant &lt;a href=&quot;https://vanschklift.com/blog/post/2020/06/19/Time-for-a-refresh%21&quot;&gt;par chez Biou&lt;/a&gt; aujourd’hui, j’ai trouvé l’effet bien sympathique. Je ne l’applique pour l’instant(?) que sur la balise &lt;code&gt;&amp;lt;mark&amp;gt;&lt;/code&gt; (relativement inoffensif si ça casse), en respectant &lt;code&gt;prefers-reduced-motion&lt;/code&gt; et en animant que lorsque la partie surlignée devient visible grâce à &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver&quot;&gt;IntersectionObserver&lt;/a&gt;.&lt;/p&gt;
  958. &lt;p&gt;Cela peut se révéler être distrayant pour certaines personnes car ça bouge à un endroit éloigné du point de lecture (merci @maiwann), invisible pour d’autres qui chargent les onglets sans être dessus (merci @lamecarlate). Il s’agit d’une famille d’animations pas trop invasives, encore moins essentielles, qui peuvent se révéler être de fausses bonnes idées. Je vais tester pour un temps, toujours dans cette recherche d’aller &lt;a href=&quot;https://larlet.fr/david/2024/03/09/#hr-106&quot;&gt;vers un peu plus de fantaisie&lt;/a&gt;.&lt;/p&gt;
  959. &lt;p&gt;N’hésitez pas à me faire des&amp;nbsp;retours.&lt;/p&gt;
  960. &lt;p&gt;&lt;mark&gt;Plus tard dans la journée&lt;/mark&gt;, Nicolas Hoizey m’indique qu’il sera possible d’avoir un &lt;a href=&quot;https://frontendmasters.com/blog/highlight-text-when-a-user-scrolls-down-to-that-piece-of-text/&quot;&gt;comportement approchant en CSS&lt;/a&gt; &lt;a href=&quot;https://caniuse.com/mdn-css_properties_animation-range&quot;&gt;prochainement&lt;/a&gt;.&lt;/p&gt;
  961. &lt;p&gt;&lt;mark&gt;Le lendemain&lt;/mark&gt;, &lt;a href=&quot;https://larlet.fr/david/2024/03/13/#hr-114&quot;&gt;j’ai désactivé l’animation&lt;/a&gt; suite à plusieurs retours de&amp;nbsp;lecteur·ices.&lt;/p&gt;
  962. &lt;hr /&gt;
  963. &lt;blockquote&gt;
  964. &lt;p&gt;Ce qu’Hashbang propose est de créer un registrar sous forme de SCIC avec en plus un processus participatif pour définir les services et leurs tarifs. Le premier service proposé sera certainement le nom de domaine, mais personne ne peut actuellement définir quel tarif sera proposé. &lt;mark&gt;Ce sera issu d’un processus participatif en fonction des participant·e·s au&amp;nbsp;départ.&lt;/mark&gt;&lt;/p&gt;
  965. &lt;p&gt;Chez Hashbang, nous portons un regard attentif aux enjeux environnementaux et nous proposons donc de mesurer et limiter l’impact environnemental des activités du&amp;nbsp;registrar.&lt;/p&gt;
  966. &lt;p&gt;Nous souhaitons également s’assurer qu’il n’y ait pas de discriminations et que les personnes minorisé·e·s puissent s’emparer de cet espace. Il faut donc s’attendre à ce qu’il y ait des événements en mixité choisie et du langage&amp;nbsp;inclusif.&lt;/p&gt;
  967. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://hashbang.coop/blog/appel-a-interet-pour-un-bureau-denregistrement-cooperatif/&quot;&gt;Appel à intérêt pour un bureau d’enregistrement&amp;nbsp;coopératif&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  968. &lt;/blockquote&gt;
  969. &lt;p&gt;Superbe initiative, coopératives pour&amp;nbsp;tou·tes&amp;#8239;!&lt;/p&gt;
  970. &lt;hr /&gt;
  971. &lt;blockquote lang=&quot;en&quot;&gt;
  972. &lt;p&gt;I know a lot of people hate anti-ad-block popups, but to me they are&amp;nbsp;perfect.&lt;/p&gt;
  973. &lt;p&gt;In presenting those popups, those websites demonstrate that they realize the lack of control they have. They show us so plainly that they are unable to make money from us, which leaves them no option but to grovel and beg us to turn off&amp;nbsp;ad-blocking.[…]&lt;/p&gt;
  974. &lt;p&gt;When we use web browsers, &lt;strong&gt;we&lt;/strong&gt; are in more control than &lt;strong&gt;they&lt;/strong&gt; are. &lt;mark&gt;That’s simply not the case when we’re inside an app they get to&amp;nbsp;control.&lt;/mark&gt;&lt;/p&gt;
  975. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://lmnt.me/blog/anti-ad-block.html&quot;&gt;Anti-Ad-Block&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  976. &lt;/blockquote&gt;
  977. &lt;p&gt;Ma configuration à ce sujet est assez extrême et il n’est pas rare (surtout sur les boutiques&amp;#8239;!) que je doive m’y reprendre à pas mal de fois pour débloquer les &lt;a href=&quot;https://tonsky.me/blog/js-bloat/&quot;&gt;megabytes de JavaScript&lt;/a&gt; à télécharger qui sont pertinents, ou plutôt nécessaires aux personnes ayant développé ces sites. Car pour ma part, je n’aurais besoin que de HTML dans 99% des&amp;nbsp;cas…&lt;/p&gt;
  978. &lt;p&gt;…dit-il en venant d’ajouter 13Ko de&amp;nbsp;JS&amp;nbsp;😬.&lt;/p&gt;
  979. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/partage/&quot;&gt;#partage&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/technique/&quot;&gt;#technique&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/web/&quot;&gt;#web&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  980. </entry>
  981. <entry xml:lang="fr">
  982. <title type="html">LoginWall</title>
  983. <link href="https://larlet.fr/david/2024/03/11/" rel="alternate" type="text/html" />
  984. <updated>2024-03-11T12:00:00+01:00</updated>
  985. <id>https://larlet.fr/david/2024/03/11/</id>
  986. <summary type="html">
  987. &lt;blockquote lang=&quot;en&quot;&gt;
  988. &lt;p&gt;I don’t have a LinkedIn account. I don’t like the idea that we both &lt;strong&gt;need&lt;/strong&gt; an account. I need one to &lt;strong&gt;post&lt;/strong&gt; my résumé, and you need one to &lt;strong&gt;view&lt;/strong&gt; it. How does that benefit me to have my résumé behind a login wall? It doesn’t. It benefits LinkedIn. Now, my résumé is on my website, displayed more beautifully than LinkedIn lets&amp;nbsp;me.&lt;/p&gt;
  989. &lt;p&gt;[…]&lt;/p&gt;
  990. &lt;p&gt;Every new thing that I add to my website works to regain my internet presence &lt;strong&gt;away&lt;/strong&gt; from companies that &lt;strong&gt;do not&lt;/strong&gt; have my interests at heart. And I will avoid future problems like a company deciding to put login walls or paywalls in front of my content. Or putting Nazi content beside mine. &lt;mark&gt;I can avoid all of that by&amp;nbsp;self-publishing.&lt;/mark&gt;&lt;/p&gt;
  991. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://lmnt.me/blog/web-independence.html&quot;&gt;Web&amp;nbsp;Independence&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  992. &lt;/blockquote&gt;
  993. &lt;p&gt;Le problème de sites comme LinkedIn c’est qu’il est difficile de se rendre compte de leur inaccessibilité lorsqu’on a un compte. Ou alors les personnes mettent leurs CV en signature de courriel en sachant que je ne vais pas pouvoir les&amp;nbsp;consulter&amp;#8239;?&lt;/p&gt;
  994. &lt;p&gt;Avec TwiX c’est encore pire car ça varie d’un jour sur l’autre. Parfois le &lt;em&gt;tweet&lt;/em&gt; est accessible mais seul, parfois il faut un compte, parfois on accède à une page avec la liste des dernières publications de la personne mais ordonnées par «&amp;nbsp;popularité&amp;nbsp;», ça sent bon la girouette qui est à la tête de&amp;nbsp;l’entreprise.&lt;/p&gt;
  995. &lt;p&gt;Et je ne parle même pas de ce qui se passe sur&amp;nbsp;Facebook.&lt;/p&gt;
  996. &lt;hr /&gt;
  997. &lt;blockquote lang=&quot;en&quot;&gt;
  998. &lt;p&gt;What I try to keep in mind is the &lt;a href=&quot;https://en.wikipedia.org/wiki/Curb_cut_effect&quot;&gt;curb cut effect&lt;/a&gt;, also known as the «&amp;nbsp;i want subtitles on my favourite show because even though my ears are just fine, i like to eat crisps while watching&amp;nbsp;» rule. In many cases, adding accessibility to your website makes it nicer for everyone, not only for the people who needed these changes. (Corollary: everything that makes you squint is giving a giant migraine to someone else out&amp;nbsp;there.)&lt;/p&gt;
  999. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://alexsirac.com/accessibility-notes/&quot;&gt;Accessibility notes from your headache-prone&amp;nbsp;friend&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  1000. &lt;/blockquote&gt;
  1001. &lt;p&gt;Je ne connaissais pas le nom de cet effet, j’espère le retenir en le notant ici. Merci&amp;nbsp;Alex&amp;#8239;!&lt;/p&gt;
  1002. &lt;p&gt;&lt;mark&gt;Lu le lendemain&lt;/mark&gt; &lt;a href=&quot;https://toot.cat/@nickcolley/112073548430975046&quot;&gt;sur masto&lt;/a&gt;&amp;nbsp;:&lt;/p&gt;
  1003. &lt;blockquote lang=&quot;en&quot;&gt;
  1004. &lt;p&gt;It is true that meeting the needs of many disabled people makes services better for non-disabled&amp;nbsp;people.&lt;/p&gt;
  1005. &lt;p&gt;It is wrong though to say that all accessibility efforts benefit non-disabled&amp;nbsp;people.&lt;/p&gt;
  1006. &lt;p&gt;They don’t, meeting some access needs &lt;em&gt;only&lt;/em&gt; benefit some disabled&amp;nbsp;people.&lt;/p&gt;
  1007. &lt;p&gt;It is tiring hearing &amp;quot;you’ll be disabled in the future&amp;quot; when there’s such a broad experience of disability that many people won’t experience due to&amp;nbsp;age.&lt;/p&gt;
  1008. &lt;p&gt;We must create strategies where we aim to humanise and value disabled people inherently and not have to lean so hard on non-disabled people’s self&amp;nbsp;interest.&lt;/p&gt;
  1009. &lt;/blockquote&gt;
  1010. &lt;hr /&gt;
  1011. &lt;figure&gt;
  1012. &lt;a href=&quot;https://larlet.fr/static/david/2024/2024-03-11-parcours-ouareau.png&quot;
  1013. title=&quot;Cliquer pour une version haute résolution&quot;&gt;
  1014. &lt;img
  1015. src=&quot;https://larlet.fr/static/david/2024/2024-03-11-parcours-ouareau.png&quot;
  1016. width=&quot;1294&quot; height=&quot;1108&quot;
  1017. srcset=&quot;/static/david/2024/2024-03-11-parcours-ouareau.png 1294w, /static/david/2024/2024-03-11-parcours-ouareau.png 660w, /static/david/2024/2024-03-11-parcours-ouareau.png 990w, /static/david/2024/2024-03-11-parcours-ouareau.png 1320w&quot;
  1018. sizes=&quot;min(100vw, calc(100vh * 1294 / 1108))&quot;
  1019. loading=&quot;lazy&quot;
  1020. decoding=&quot;async&quot;
  1021. alt=&quot;Capture d’écran d’un parcours sur 4&amp;nbsp;jours avec une soixantaine de kilomètres.&quot;&gt;
  1022. &lt;/a&gt;
  1023. &lt;figcaption&gt;Si ma cheville le&amp;nbsp;permet.&lt;/figcaption&gt;
  1024. &lt;/figure&gt;
  1025. &lt;p&gt;J’ai joué avec le &lt;a href=&quot;https://www.komoot.com/fr-fr/plan&quot;&gt;Planificateur d’itinéraire de Komoot&lt;/a&gt; hier, je ne m’étais jamais demandé vraiment quelles distances est-ce que je pouvais parcourir dans la forêt. J’aime bien le fait d’avoir l’option de suivre les chemins connus. À voir si j’arrive à faire ce grand tour en rando rapide / légère. Je connais déjà 80% du parcours et je sais dès à présent que la deuxième journée serait bien longue. L’avantage d’être en terrain connu, c’est de connaître les endroits où je peux couper en cas de pépin&amp;nbsp;physique.&lt;/p&gt;
  1026. &lt;p&gt;J’ai du matériel très léger mais je me rends compte que la nourriture est déjà un défi sur 4&amp;nbsp;jours pour garder un sac qui permette de courir. Je m’entraîne en ce moment en faisant des aller-retours à la bibliothèque avec 5kg de livres sur le dos. On verra bien si c’est utile… au pire j’aurais découvert des&amp;nbsp;BD&amp;nbsp;:-).&lt;/p&gt;
  1027. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/decentralisation/&quot;&gt;#décentralisation&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/dependance/&quot;&gt;#dépendance&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/web/&quot;&gt;#web&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  1028. </entry>
  1029. <entry xml:lang="fr">
  1030. <title type="html">Dune</title>
  1031. <link href="https://larlet.fr/david/2024/03/10/" rel="alternate" type="text/html" />
  1032. <updated>2024-03-10T12:00:00+01:00</updated>
  1033. <id>https://larlet.fr/david/2024/03/10/</id>
  1034. <summary type="html">
  1035. &lt;p&gt;Je crois bien n’être allé que 3&amp;nbsp;fois dans une salle de cinéma ces 10&amp;nbsp;dernières années. Et puis l’occasion s’est présentée, sans prévenir, aujourd’hui. J’avais &lt;a href=&quot;https://larlet.fr/david/2021/10/18/&quot;&gt;quelques retenues sur la première partie&lt;/a&gt; mais j’attendais quand même avec impatience la suite. Et j’avais réussi à ne pas trop regarder les bandes annonces, ni les&amp;nbsp;critiques.&lt;/p&gt;
  1036. &lt;p&gt;&lt;em&gt;Note&amp;nbsp;: ça va forcément divulgâcher un peu dans la&amp;nbsp;suite.&lt;/em&gt;&lt;/p&gt;
  1037. &lt;p&gt;L’adaptation est bonne, le défi était de taille et —&amp;nbsp;en dépit des quelques ajustements qui piquent un peu le &lt;em&gt;fan&lt;/em&gt; que je suis (surtout vers la fin&amp;#8239;!)&amp;nbsp;— la scénarisation est cohérente. Ce qui n’était pas une mince affaire car encore une fois la temporalité n’est pas évidente et rendre l’évolution des personnages visible avec tout ce qui est censé se passer dans leur tête requiert des redéfinitions et des&amp;nbsp;raccourcis.&lt;/p&gt;
  1038. &lt;p&gt;Mon erreur a probablement été de choisir de l’IMAX alors que c’était Hans “&lt;a href=&quot;https://www.20k.org/episodes/boojstrikesback&quot;&gt;booj&lt;/a&gt;” Zimmer aux platines. Autant dire que le siège a vibré la moitié du film&amp;#8239;! Au-delà de la bande originale, le son a vraiment été travaillé mais je crois que c’était un peu trop pour mes vieilles oreilles plus vraiment adaptées à de tels volumes. Il y a des moments où j’ai même trouvé que ça altérait la compréhension des dialogues… j’avais un peu l’impression de me noyer dans la volonté im·mer·sive alors que l’on est en plein désert. Je doute de retourner dans une salle de si&amp;nbsp;tôt.&lt;/p&gt;
  1039. &lt;p&gt;Tout ce qui tourne autour des vers est bien fait, j’avais toujours eu du mal à me faire ma propre représentation des tailles et interactions à la lecture et là ça me semble être respecté / réaliste. Idem pour les &lt;em&gt;Sietchs&lt;/em&gt;, c’est fidèle à la projection mentale que je pouvais m’en faire, même si l’on n’en voit pas grand chose au final. J’ai particulièrement apprécié le choix de faire une &lt;em&gt;Chani&lt;/em&gt; forte qui est davantage consciente des enjeux et des répercutions. La jalousie aurait mérité d’être plus subtile, la différence entre la femme (politique) de Paul et sa compagne (amoureuse) est vraiment explicite dans le&amp;nbsp;livre.&lt;/p&gt;
  1040. &lt;p&gt;Paul Muad’dib perd un peu trop d’eau à mon goût au cours de nombreuses scènes. Il était probablement plus difficile de transmettre des émotions&amp;nbsp;sèches&amp;nbsp;(?).&lt;/p&gt;
  1041. &lt;p&gt;Pour finir sur une note positive, l’image bien sûr. C’est à la limite du trop &lt;em&gt;et&lt;/em&gt; c’est magnifique au niveau des différents tableaux qui s’enchaînent avec leurs propres couleurs, cinématiques et points de vues. On sent le travail de recherche sans qu’il ne devienne complètement distrayant. J’y serai d’autant plus attentif lors d’un second visionnage, chez moi, en choisissant le volume&amp;nbsp;sonore.&lt;/p&gt;
  1042. &lt;p&gt;Je ne vois pas comment est-ce qu’il ne pourrait pas y avoir une troisième partie. À voir comment / si ça raccroche les wagons des livres. J’aurais presque envie que ça explore sa propre branche. &lt;em&gt;Dune&amp;nbsp;multi·vers·e&amp;#8239;!&lt;/em&gt;&lt;/p&gt;
  1043. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/adaptation/&quot;&gt;#adaptation&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/cinema/&quot;&gt;#cinéma&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/lecture/&quot;&gt;#lecture&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  1044. </entry>
  1045. <entry xml:lang="fr">
  1046. <title type="html">Marque</title>
  1047. <link href="https://larlet.fr/david/2024/03/09/" rel="alternate" type="text/html" />
  1048. <updated>2024-03-09T12:00:00+01:00</updated>
  1049. <id>https://larlet.fr/david/2024/03/09/</id>
  1050. <summary type="html">
  1051. &lt;blockquote lang=&quot;en&quot;&gt;
  1052. &lt;p&gt;&lt;mark&gt;Removing the brand from the person&lt;/mark&gt; is all but straightforward. I now start my about page with a quick way to introduce myself by putting forward some of my values. […] Beside saying &lt;em&gt;people&lt;/em&gt; instead of &lt;em&gt;users&lt;/em&gt;, stop considering who’s reading my stuff as &lt;em&gt;audience&lt;/em&gt;, and quit referring to what I do as &lt;em&gt;content&lt;/em&gt;, I want to modify a few more&amp;nbsp;behaviours:&lt;/p&gt;
  1053. &lt;ul&gt;
  1054. &lt;li&gt;Quit mentioning well-known bloggers on a first-name basis. […]&lt;/li&gt;
  1055. &lt;li&gt;Keep writing about different things. […]&lt;/li&gt;
  1056. &lt;li&gt;Don’t quote so-called thought leaders&amp;nbsp;[…]&lt;/li&gt;
  1057. &lt;li&gt;Stop sugar-coating concepts&amp;nbsp;[…]&lt;/li&gt;
  1058. &lt;/ul&gt;
  1059. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://minutestomidnight.co.uk/blog/kafkaesque-digital-relationship-with-ourselves/&quot;&gt;A Kafkaesque digital relationship with&amp;nbsp;ourselves&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  1060. &lt;/blockquote&gt;
  1061. &lt;p&gt;Réflexion du jour sur le vocabulaire qui évolue pour se présenter sur le Web. Je suis souvent intrigué par les biographies et textes de présentation sur mastodon qui sont à la fois singuliers tout en respectant des codes (micro-)culturels. Peut-être que l’on a besoin de se sentir dans un cadre de représentation connu pour se sentir exister dans une&amp;nbsp;communauté.&lt;/p&gt;
  1062. &lt;p&gt;Le même auteur, en&amp;nbsp;2002(!)&amp;nbsp;:&lt;/p&gt;
  1063. &lt;blockquote lang=&quot;en&quot;&gt;
  1064. &lt;p&gt;Five years ago there was all this buzz about &lt;em&gt;virtual communities&lt;/em&gt;. How did that go? I have no idea, all I know is that everything revolves around who’s the hottest blogger right now. They talk about themselves, reference each other, all anxious about who has the most comments or the longest and most prestigious blogroll. Compared to that, &lt;mark&gt;my online journal is pure mental masturbation, but at least I have the occasional good photo and such nice&amp;nbsp;typography.&lt;/mark&gt;&lt;/p&gt;
  1065. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://minutestomidnight.co.uk/blog/years-just-pass-by/&quot;&gt;Years just pass&amp;nbsp;by&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  1066. &lt;/blockquote&gt;
  1067. &lt;hr /&gt;
  1068. &lt;pre&gt;&lt;code&gt;body:has(time[datetime]) li {
  1069. list-style-type: &amp;quot;❧ &amp;quot;;
  1070. }
  1071. body:has(
  1072. time[datetime^=&amp;quot;2024-01&amp;quot;],
  1073. time[datetime^=&amp;quot;2024-02&amp;quot;],
  1074. time[datetime^=&amp;quot;2024-03&amp;quot;]
  1075. ) li {
  1076. list-style-type: &amp;quot;❆ &amp;quot;;
  1077. }
  1078. body:has(
  1079. time[datetime^=&amp;quot;2024-04&amp;quot;],
  1080. time[datetime^=&amp;quot;2024-05&amp;quot;],
  1081. time[datetime^=&amp;quot;2024-06&amp;quot;]
  1082. ) li {
  1083. list-style-type: &amp;quot;❁ &amp;quot;;
  1084. }
  1085. body:has(
  1086. time[datetime^=&amp;quot;2024-07&amp;quot;],
  1087. time[datetime^=&amp;quot;2024-08&amp;quot;],
  1088. time[datetime^=&amp;quot;2024-09&amp;quot;]
  1089. ) li {
  1090. list-style-type: &amp;quot;❂ &amp;quot;;
  1091. }
  1092. &lt;/code&gt;&lt;/pre&gt;
  1093. &lt;p&gt;J’avais envie d’introduire une légère saisonnalité dans mes listes à puces. Surtout une &lt;a href=&quot;https://larlet.fr/david/2024/03/07/#hr-102&quot;&gt;autre excuse&lt;/a&gt; pour jouer avec &lt;code&gt;:has()&lt;/code&gt;. Je lis un peu trop de blogs qui manquent de fantaisie. Et puis il&amp;nbsp;pleut…&lt;/p&gt;
  1094. &lt;hr /&gt;
  1095. &lt;p&gt;Chant du cardinal&lt;br /&gt;
  1096. Le matin s’éveille sans toi&lt;br /&gt;
  1097. Lovée dans mes&amp;nbsp;bras&lt;/p&gt;
  1098. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/evolution/&quot;&gt;#évolution&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/identite/&quot;&gt;#identité&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/poesie/&quot;&gt;#poésie&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  1099. </entry>
  1100. <entry xml:lang="fr">
  1101. <title type="html">Flow</title>
  1102. <link href="https://larlet.fr/david/2024/03/08/" rel="alternate" type="text/html" />
  1103. <updated>2024-03-08T12:00:00+01:00</updated>
  1104. <id>https://larlet.fr/david/2024/03/08/</id>
  1105. <summary type="html">
  1106. &lt;p&gt;Le &lt;a href=&quot;https://fr.wikipedia.org/wiki/Flow_(psychologie)&quot;&gt;flow&lt;/a&gt; n’est pas seulement un état où j’ai besoin de calme, il s’agit d’un contexte à part entière. Il me faut une problématique connue, qui est définie avec des contours relativement flous, davantage une intention qu’une direction. Si j’ai déjà eu l’occasion d’être précédemment frustré par l’implémentation en cours, cela me donne beaucoup de motivation pour plonger. Parfois la zone est atteinte en n’étant pas devant un écran (en courant, sous la douche, etc), une forme d’&lt;em&gt;Eurêka&amp;#8239;!&lt;/em&gt; qui annonce la libération du &lt;em&gt;flow&lt;/em&gt; à&amp;nbsp;venir.&lt;/p&gt;
  1107. &lt;p&gt;La crue monte et butte contre des digues techniques, plusieurs fois, avant de créer la brèche qui va tout libérer d’un coup et se répandre dans l’ensemble du code. Reste la tâche de &lt;em&gt;ressuyage&lt;/em&gt;&amp;nbsp;: &lt;q lang=&quot;fr&quot;&gt;l’évacuation des eaux qui se sont déversées dans les terres après une inondation et ainsi de diminuer le temps de submersion&lt;/q&gt; nous dit le &lt;a href=&quot;https://www.symadrem.fr/anticiper-intervenir/evacuation-des-eaux-post-crue/quest-ce-que-le-ressuyage/&quot;&gt;Symadrem&lt;/a&gt;. Ce n’est pas une tâche ingrate car c’est celle qui rend le code pérenne et compréhensible, l’objet du &lt;em&gt;flow&lt;/em&gt; accessible au plus grand nombre. Le temps de la décrue permet d’identifier les cas aux limites&amp;nbsp;également.&lt;/p&gt;
  1108. &lt;p&gt;Ce contexte ne m’est atteignable que 3&amp;nbsp;ou 4&amp;nbsp;fois par an en moyenne. Et heureusement, car il est vraiment peu soutenable (mais tellement&amp;nbsp;satisfaisant&amp;#8239;!).&lt;/p&gt;
  1109. &lt;hr /&gt;
  1110. &lt;blockquote lang=&quot;en&quot;&gt;
  1111. &lt;p&gt;CSS is a programming language because that’s what you’re doing when you write it; you’re &lt;em&gt;programming&lt;/em&gt; the application’s presentation logic. And that’s important, because CSS has power enough to either maximize the useability of software, or to ruin it beyond all utility. (Really; you’d probably be astounded how many ways there are to utterly destroy anything on the web with hardly any&amp;nbsp;CSS.)&lt;/p&gt;
  1112. &lt;p&gt;In many ways, &lt;mark&gt;CSS has greater impact than any other language&lt;/mark&gt; on a user’s experience, which often directly influences success. Why, then, is its role so&amp;nbsp;belittled?&lt;/p&gt;
  1113. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://joshcollinsworth.com/blog/devaluing-frontend&quot;&gt;The quiet, pervasive devaluation of&amp;nbsp;frontend&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  1114. &lt;/blockquote&gt;
  1115. &lt;p&gt;J’aurais pu citer beaucoup de parties de cet article. Je choisis celle vraiment centrée sur CSS car les avancées récentes en font encore davantage un outil qui demande une grande connaissance du domaine, une veille active et une réflexion importante. Ce langage exprime la complexité de nos interfaces et de notre évolution collective en terme d’exploration d’affordances. Les &lt;em&gt;patterns&lt;/em&gt;, ces façons de résoudre des problèmes similaires, évoluent et les personnes qui arrivent à suivre ces évolutions vont être de plus en plus sollicitées (j’en parlais &lt;a href=&quot;https://larlet.fr/david/2024/02/28/#hr-94&quot;&gt;par ici&lt;/a&gt;) — notamment lorsqu’il va falloir nettoyer 10&amp;nbsp;ans de&amp;nbsp;CSS-in-JS/Tailwind/YouNameIt.&lt;/p&gt;
  1116. &lt;p&gt;Je n’ai pas la même considération pour ces personnes, &lt;strong&gt;j’en ai bien davantage&lt;/strong&gt;.&lt;/p&gt;
  1117. &lt;hr /&gt;
  1118. &lt;blockquote lang=&quot;en&quot;&gt;
  1119. &lt;p&gt;So far we have designed our component to be a function of the host. We can go further and ensure that the rendering routine is actually private to the host, so that the rendering code is encapsulated inside along with any potential behaviour enhancements (the &lt;code&gt;countClickable&lt;/code&gt; mixin for example), while both remain&amp;nbsp;reusable.&lt;/p&gt;
  1120. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://lorenzofox.dev/posts/component-as-infinite-loop/&quot;&gt;Coroutines and web&amp;nbsp;components&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  1121. &lt;/blockquote&gt;
  1122. &lt;p&gt;Je n’ai pas tout compris (et j’en suis à la seconde lecture) mais ça a l’air&amp;nbsp;fun&amp;#8239;!&amp;nbsp;😜&lt;/p&gt;
  1123. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/experience/&quot;&gt;#expérience&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/psychologie/&quot;&gt;#psychologie&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/technique/&quot;&gt;#technique&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  1124. </entry>
  1125. <entry xml:lang="fr">
  1126. <title type="html">Sondages</title>
  1127. <link href="https://larlet.fr/david/2024/03/07/" rel="alternate" type="text/html" />
  1128. <updated>2024-03-07T12:00:00+01:00</updated>
  1129. <id>https://larlet.fr/david/2024/03/07/</id>
  1130. <summary type="html">
  1131. &lt;blockquote&gt;
  1132. &lt;p&gt;&lt;mark&gt;Une faible majorité&lt;/mark&gt; des votants estime qu’il faut mentionner dans le résumé introductif le nom pré-transition d’une personne transgenre qui a acquis sous cette ancienne identité une notoriété suffisante pour remplir les critères&amp;nbsp;d’admissibilité.&lt;/p&gt;
  1133. &lt;p&gt;Dans leurs verbatims, les partisans de la mention du morinom insistent sur le caractère encyclopédique de l’information (62), puisque les sujets concernés ont acquis la notoriété sous leur ancien nom (50) et qu’elle s’appuie sur des sources secondaires publiques (31). Il convient selon eux d’indiquer de façon claire et accessible (31), sans réécriture de l’histoire (22), cette information utile au lecteur (15). Ils estiment que les biographies des personnes transgenres ne doivent pas être traitées différemment des autres (14) et rappellent que sur Wikipédia le sujet d’une biographie n’a pas de privilège éditorial sur son contenu (8). Si à leur sens l’information doit figurer dans l’article, il est en revanche inopportun de la répéter&amp;nbsp;(24).&lt;/p&gt;
  1134. &lt;p&gt;Les opposants arguent quant à eux que la mention du morinom est nuisible aux personnes concernées (83) ou constitue un manque de respect pour le sujet de la biographie (40). Ils considèrent qu’un nom obsolète ne peut pas être encyclopédique (37), qu’il s’agit d’une information privée (38), inutile (36), dont la mention est transphobe (17). L’avis d’une personne transgenre sujet d’une biographie doit selon eux être respecté&amp;nbsp;(29).&lt;/p&gt;
  1135. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Sondage/Mention_du_nom_de_naissance_pour_les_personnes_trans/R%C3%A9sultats&quot;&gt;Wikipédia:Sondage/Mention du nom de naissance pour les personnes&amp;nbsp;trans/Résultats&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  1136. &lt;/blockquote&gt;
  1137. &lt;p&gt;54% des 357&amp;nbsp;avis décomptés. Tristesse &lt;a href=&quot;https://larlet.fr/david/2024/02/29/&quot;&gt;anticipée&lt;/a&gt;.&lt;/p&gt;
  1138. &lt;p&gt;Wikipedia est le seul service centralisé sur le Web qui ne souffre d’aucune concurrence. Alors les luttes sont internes, pour décrire le monde tel qu’il est perçu par une certaine population, que l’autre partie de la population prendra pour vérité. Il y a probablement un truc mâle·sain dans tout&amp;nbsp;ça.&lt;/p&gt;
  1139. &lt;blockquote lang=&quot;en&quot;&gt;
  1140. &lt;p&gt;Today, the French-speaking Wikipedia passed a decision to deadname trans people in their&amp;nbsp;biographies.&lt;/p&gt;
  1141. &lt;p&gt;Some will argue that this makes WP-FR transphobic, and there is certainly something to it: while Wikipedia is not a monolithic institution, and while I am critical of the phrase &amp;quot;Wikipedian community&amp;quot;, it is a fact that WP-FR is effectively controlled by people hostile or indifferent to&amp;nbsp;inclusion.&lt;/p&gt;
  1142. &lt;p&gt;But &lt;mark&gt;this decision is utterly un-Wikipedian,&lt;/mark&gt; and therefore lacks any legitimity, for&amp;nbsp;2&amp;nbsp;reasons&lt;/p&gt;
  1143. &lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://bagarrosphere.fr/@photos_floues/112047957955051151&quot;&gt;Rama sur&amp;nbsp;Mastodon&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
  1144. &lt;/blockquote&gt;
  1145. &lt;hr /&gt;
  1146. &lt;blockquote lang=&quot;en&quot;&gt;
  1147. &lt;p&gt;CSS &lt;code&gt;:has()&lt;/code&gt; is a powerful feature that opens a lot of possibilities that weren’t possible before. It literally gives us CSS superpowers! I recommend you start using it today and experiment with&amp;nbsp;it.&lt;/p&gt;
  1148. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://ishadeed.com/article/css-has-guide/&quot;&gt;CSS&amp;nbsp;:has() Interactive&amp;nbsp;Guide&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  1149. &lt;/blockquote&gt;
  1150. &lt;p&gt;Incroyable article d’Ahmad Shadeed complété par &lt;a href=&quot;https://piccalil.li/blog/some-little-ways-im-using-css-has-in-the-real-world/&quot;&gt;d’autres cas pratiques&lt;/a&gt; d’Andy Bell qui m’ont donné envie de jouer avec sur &lt;a href=&quot;https://larlet.fr/david/&quot;&gt;ma page d’accueil&lt;/a&gt;. C’est subtil et je reviendrai dessus mais je trouve ça intéressant pour montrer le lien entre les articles de l’année et leurs étiquettes. Cela ne m’embête pas que ce ne soit pas accessible à des doigts, au clavier et/ou aux anciens navigateurs car c’est du bonus. En effet, c’est du Baseline2023™ &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/:has&quot;&gt;niveau support&lt;/a&gt;.&lt;/p&gt;
  1151. &lt;p&gt;Je me suis rendu compte en consultant les résultats de &lt;a href=&quot;https://social.lol/@brandonwrites/112045044489173328&quot;&gt;ce sondage&lt;/a&gt; (92% des 363&amp;nbsp;personnes ayant répondu vont consulter les archives d’un blog qu’elles découvrent) qu’il n’était pas évident de découvrir ce que je raconte par ici. Surtout avec des titres à un seul mot, aussi je tente des choses pour rendre plus explicite la toile qui est tissée quotidiennement. Depuis bientôt&amp;nbsp;20&amp;nbsp;ans.&lt;/p&gt;
  1152. &lt;hr /&gt;
  1153. &lt;blockquote lang=&quot;en&quot;&gt;
  1154. &lt;p&gt;A &lt;strong&gt;title drop&lt;/strong&gt; is when a character in a movie says the title of the movie they’re in. Here’s a large-scale analysis of 73,921&amp;nbsp;movies from the last 80&amp;nbsp;years on how often, when and maybe even why that&amp;nbsp;happens.&lt;/p&gt;
  1155. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://www.titledrops.net/&quot;&gt;Full Of&amp;nbsp;Themselves&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  1156. &lt;/blockquote&gt;
  1157. &lt;p&gt;Parfois tu tombes sur un site qui a demandé un effort non négligeable et tu te dis &lt;del&gt;à quoi bon&lt;/del&gt; trop&amp;nbsp;génial&amp;#8239;!&lt;/p&gt;
  1158. &lt;blockquote&gt;
  1159. &lt;p&gt;So who are the most excessive offenders in mentioning their titles over the course of the film? The overall star when it comes to fiction only came out last year: it’s Barbie by Greta Gerwig with an impressive 267&amp;nbsp;title drops within its 1&amp;nbsp;hour and 54&amp;nbsp;minutes runtime, clocking in at a whopping 2.34&amp;nbsp;BPM (Barbies Per&amp;nbsp;Minute).&lt;/p&gt;
  1160. &lt;p&gt;&lt;cite&gt;&lt;em&gt;Ibid.&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  1161. &lt;/blockquote&gt;
  1162. &lt;p&gt;Je comprends mieux mon&amp;nbsp;endormissement.&lt;/p&gt;
  1163. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/commun/&quot;&gt;#commun&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/deception/&quot;&gt;#déception&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/web/&quot;&gt;#web&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  1164. </entry>
  1165. <entry xml:lang="fr">
  1166. <title type="html">Vannerie</title>
  1167. <link href="https://larlet.fr/david/2024/03/06/" rel="alternate" type="text/html" />
  1168. <updated>2024-03-06T12:00:00+01:00</updated>
  1169. <id>https://larlet.fr/david/2024/03/06/</id>
  1170. <summary type="html">
  1171. &lt;p&gt;L’atelier du jour était une initiation à la vannerie, cette fois-ci avec / pour l’enfant. Depuis le temps qu’il veut m’accompagner, j’ai sauté sur l’occasion lorsqu’une animatrice d’atelier — ancienne enseignante, ça doit jouer&amp;nbsp;— acceptât les personnes de son&amp;nbsp;âge.&lt;/p&gt;
  1172. &lt;figure&gt;
  1173. &lt;a href=&quot;https://larlet.fr/static/david/2024/2024-03-06-vannerie-panier.jpg&quot;
  1174. title=&quot;Cliquer pour une version haute résolution&quot;&gt;
  1175. &lt;img
  1176. src=&quot;https://larlet.fr/static/david/2024/2024-03-06-vannerie-panier.jpg&quot;
  1177. width=&quot;4032&quot; height=&quot;3024&quot;
  1178. srcset=&quot;/static/david/2024/2024-03-06-vannerie-panier.jpg 4032w, /static/david/2024/2024-03-06-vannerie-panier_660x440.jpg 660w, /static/david/2024/2024-03-06-vannerie-panier_990x660.jpg 990w, /static/david/2024/2024-03-06-vannerie-panier_1320x880.jpg 1320w&quot;
  1179. sizes=&quot;min(100vw, calc(100vh * 4032 / 3024))&quot;
  1180. loading=&quot;lazy&quot;
  1181. decoding=&quot;async&quot;
  1182. alt=&quot;Un panier en vannerie.&quot;&gt;
  1183. &lt;/a&gt;
  1184. &lt;figcaption&gt;Un panier en vannerie, ça m’a pris&amp;nbsp;2h30.&lt;/figcaption&gt;
  1185. &lt;/figure&gt;
  1186. &lt;p&gt;Le &lt;em&gt;twist&lt;/em&gt;, c’est que j’ai pu le faire aussi vu que nous étions les seuls présents pour la session au final. Autant dire qu’avec un cours particulier on a pu apprendre encore plus de choses&amp;#8239;! Sur un spectre allant des techniques d’assouplissement à l’appropriation culturelle, on a passé un bon moment d’échanges. J’ai appris que la préparation du frêne noir utilisé dans la vannerie par les Premières Nations prend plusieurs mois, ce qui explique sa rareté (et son&amp;nbsp;prix).&lt;/p&gt;
  1187. &lt;figure&gt;
  1188. &lt;a href=&quot;https://larlet.fr/static/david/2024/2024-03-06-vannerie-sac-a-dos.jpg&quot;
  1189. title=&quot;Cliquer pour une version haute résolution&quot;&gt;
  1190. &lt;img
  1191. src=&quot;https://larlet.fr/static/david/2024/2024-03-06-vannerie-sac-a-dos.jpg&quot;
  1192. width=&quot;3024&quot; height=&quot;4032&quot;
  1193. srcset=&quot;/static/david/2024/2024-03-06-vannerie-sac-a-dos.jpg 3024w, /static/david/2024/2024-03-06-vannerie-sac-a-dos_660x440.jpg 660w, /static/david/2024/2024-03-06-vannerie-sac-a-dos_990x660.jpg 990w, /static/david/2024/2024-03-06-vannerie-sac-a-dos_1320x880.jpg 1320w&quot;
  1194. sizes=&quot;min(100vw, calc(100vh * 3024 / 4032))&quot;
  1195. loading=&quot;lazy&quot;
  1196. decoding=&quot;async&quot;
  1197. alt=&quot;Un sac à dos en vannerie.&quot;&gt;
  1198. &lt;/a&gt;
  1199. &lt;figcaption&gt;Un sac à dos en vannerie sur le dos de&amp;nbsp;l’enfant.&lt;/figcaption&gt;
  1200. &lt;/figure&gt;
  1201. &lt;p&gt;Toujours cette sensation de créer des objets utiles à partir de pas grand chose et avec un minimum de&amp;nbsp;matériel.&lt;/p&gt;
  1202. &lt;hr /&gt;
  1203. &lt;blockquote lang=&quot;en&quot;&gt;
  1204. &lt;p&gt;Like Stimulus, but &lt;em&gt;a lot&lt;/em&gt; smaller and a bit more&amp;nbsp;webcomponenty?&lt;/p&gt;
  1205. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://github.com/johanhalse/musculus&quot;&gt;Musculus&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  1206. &lt;/blockquote&gt;
  1207. &lt;p&gt;Découverte du jour que je trouve très inspirante. J’avais dans un coin de tête de tester des choses dans cette voie. Réussir à faire le pont entre les deux serait une très bonne combinaison. J’apprécie qu’une solution de test soit proposée, même si elle est légère (en terme de fiabilité) j’en peux plus d’attendre&amp;nbsp;Playwright.&lt;/p&gt;
  1208. &lt;hr /&gt;
  1209. &lt;blockquote&gt;
  1210. &lt;p&gt;End the battle. Use &lt;code&gt;infinity&lt;/code&gt; to get the highest possible &lt;code&gt;z-index&lt;/code&gt; and win&amp;nbsp;forever.&lt;/p&gt;
  1211. &lt;p&gt;[…]&lt;/p&gt;
  1212. &lt;p&gt;But is &lt;code&gt;infinity&lt;/code&gt; really any better than some arbitrarily big value like &lt;code&gt;9999px&lt;/code&gt;? Functionally, no. Same end result. But I think &lt;mark&gt;it does help make code more self-documenting,&lt;/mark&gt; because &lt;code&gt;infinity&lt;/code&gt; conveys intent. It expresses that it’s all about the magnitude, not a specific magic&amp;nbsp;number.&lt;/p&gt;
  1213. &lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://codersblock.com/blog/playing-with-infinity-in-css/&quot;&gt;Playing with Infinity in&amp;nbsp;CSS&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
  1214. &lt;/blockquote&gt;
  1215. &lt;p&gt;Autre découverte du jour. J’aime bien l’idée de pouvoir évacuer certaines valeurs magiques de manière explicite. J’ai la flemme de tester ce qu’un &lt;code&gt;calc(infinity - 1)&lt;/code&gt; donnerait sur un &lt;code&gt;z-index&lt;/code&gt;&amp;nbsp;🤭.&lt;/p&gt;
  1216. &lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/apprentissage/&quot;&gt;#apprentissage&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/parentalite/&quot;&gt;#parentalité&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/protopie/&quot;&gt;#protopie&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
  1217. </entry>
  1218. </feed>