<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://ateliers.klafoutis.org/feed/rss2/xslt" ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Les ateliers du klafoutis - Carnet de notes</title>
    <link>https://ateliers.klafoutis.org/</link>
    <atom:link href="https://ateliers.klafoutis.org/feed/category/Notes/rss2" rel="self" type="application/rss+xml" />
    <description>Là où Kozlika tricote et détricote le html, les css et surtout Dotclear.</description>
    <language>fr</language>
    <pubDate>Fri, 15 May 2026 16:52:13 +0200</pubDate>
    <copyright></copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>Dotclear</generator>
          <item>
        <title>Générer automatiquement des palettes via CSS avec OKLCH</title>
        <link>https://ateliers.klafoutis.org/post/2026/03/28/G%C3%A9n%C3%A9rer-automatiquement-des-palettes-via-CSS-avec-OKLCH</link>
        <guid isPermaLink="false">urn:md5:afedec609d15bd2860d032ee546d9fe3</guid>
        <pubDate>Sat, 28 Mar 2026 08:52:00 +0100</pubDate>
        <dc:creator>Kozlika</dc:creator>
                  <category>Carnet de notes</category>
                          <category>css</category>
                  <category>oklch</category>
                  <category>thèmes</category>
                  <category>tips</category>
                <description> &lt;p&gt;Nous sommes en train de mettre la dernière main à un thème pour &lt;a href=&quot;https://dotclear.org&quot;&gt;Dotclear&lt;/a&gt; dérivé de celui que nous utilisions sur le site de l&amp;#8217;&lt;a href=&quot;https://auberge.des-blogueurs.org&quot;&gt;Auberge des blogueurs&lt;/a&gt;. Billet de présentation et démo &lt;a href=&quot;https://ateliers.klafoutis.org/post/2026/03/29/Th%C3%A8me-%C3%A0-tester-%3A-Ad%C3%A8le&quot;&gt;ici&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Le problème&lt;/h3&gt;

&lt;p&gt;À l&amp;#8217;auberge, il était facile d&amp;#8217;attribuer des couleurs différenciées (en l&amp;#8217;occurrence selon l&amp;#8217;auteurice) puisque nous disposions de leur liste. Pour chaque nouvelle autrice ou auteur on indiquait sa couleur et voilà.&lt;/p&gt;

&lt;p&gt;Ici, il s&amp;#8217;agit d&amp;#8217;un thème distribué&amp;#160;: je ne connais pas le nombre de catégories, ni leur nom, ni leur identifiant. Idem pour les auteurices. Par ailleurs, nous souhaitions que le ou la proprio du blog puisse choisir une ambiance dominante de couleurs vives ou de couleurs douces, en harmonie entre elles et reconnaissables si l&amp;#8217;on passe d&amp;#8217;une gamme à l&amp;#8217;autre. Je ne pouvais donc pas préciser telle couleur pour telle catégorie (ou auteurice).&lt;/p&gt;

&lt;p&gt;Ah et puis il fallait une palette pour le mode dark aussi.&lt;/p&gt;

&lt;h3&gt;OKCLH à la rescousse&lt;/h3&gt;

&lt;p&gt;Dans mes découvertes récentes après mon interruption de veille des techno web depuis cinq ou six ans, je suis tombée sur le modèle de couleurs &lt;a href=&quot;https://la-cascade.io/articles/oklch-en-css&quot;&gt;OKLCH&lt;/a&gt;. Pour ce que je cherchais à faire c&amp;#8217;est idéal.&lt;/p&gt;

&lt;p&gt;Vous pouvez aller lire l&amp;#8217;article en lien ci-dessus pour des informations plus complètes que je vais simplifier ici. Dans oklch, &lt;code&gt;l&lt;/code&gt; représente la luminosité, &lt;code&gt;c&lt;/code&gt; la chromie, &lt;code&gt;h&lt;/code&gt; la teinte (h pour hue). Selon le but recherché, en conservant un ou deux des paramètres et en faisant bouger le troisième, on obtient des gammes visuellement cohérentes. Je vous invite à &lt;a href=&quot;https://modern-css.com/playground/oklch-color-picker/&quot;&gt;aller jouer avec les curseurs&lt;/a&gt; pour vous en rendre compte.&lt;/p&gt;

&lt;p&gt;J&amp;#8217;ai donc défini quatre principes&amp;#160;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Un point de départ avant calcul propre à chaque catégorie&amp;#160;: la teinte (&lt;code&gt;h&lt;/code&gt;) 155.&lt;/li&gt;
&lt;li&gt;Pour les couleurs douces, une luminosité (&lt;code&gt;l&lt;/code&gt;) à 0.75 et une chromie (&lt;code&gt;c&lt;/code&gt;) à 0.06 (&lt;a href=&quot;https://oklch.com/#0.75,0.06,155,100&quot;&gt;résultat du point de départ&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Pour les couleurs vives, une luminosité (&lt;code&gt;l&lt;/code&gt;) à 0.48 et une chromie (&lt;code&gt;c&lt;/code&gt;) à 0.15 (&lt;a href=&quot;https://oklch.com/#0.48,0.15,155,100&quot;&gt;résultat du point de départ&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Pour les couleurs du mode dark, je mélange les couleurs douces avec un gris-bleu très sombre (ma couleur de fond dans ce mode).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Une fois cela établi, le seul paramètre que je fais bouger c&amp;#8217;est celui de la teinte, quelle que soit la gamme.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://ateliers.klafoutis.org/public/Adele/palettes-oklch.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h3&gt;Le code&lt;/h3&gt;

&lt;p&gt;Pour faire varier la teinte, je m&amp;#8217;appuie sur l&amp;#8217;identifiant numérique de la catégorie, dont je me sers pour «&amp;#160;faire bouger le curseur&amp;#160;» avec des pas de 55 pour que les couleurs ne soient pas proches les unes des autres (donc un step avec juste le numéro de la catégorie ne serait pas suffisant) et pas un nombre qui ferait retomber trop vite sur les mêmes couleurs (donc pas un nombre entier d&amp;#8217;une division de 360). Voici comment «&amp;#160;bouge&amp;#160;» la valeur de hue&amp;#160;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;--hue: calc(h + (55 * id_de_la_cat));&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Je ne détaille pas comment récupérer la valeur numérique de la catégorie&lt;sup id=&quot;fnref:ts1774769824648265.2&quot;&gt;&lt;a href=&quot;https://ateliers.klafoutis.org/post/2026/03/28/G%C3%A9n%C3%A9rer-automatiquement-des-palettes-via-CSS-avec-OKLCH#fn:ts1774769824648265.2&quot; class=&quot;footnote-ref&quot; role=&quot;doc-noteref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;, c&amp;#8217;est trop spécifique à Dotclear mais vous pourrez toujours télécharger le thème et en étudier les sources si vous en avez besoin&lt;sup id=&quot;fnref:ts1774769824648265.1&quot;&gt;&lt;a href=&quot;https://ateliers.klafoutis.org/post/2026/03/28/G%C3%A9n%C3%A9rer-automatiquement-des-palettes-via-CSS-avec-OKLCH#fn:ts1774769824648265.1&quot; class=&quot;footnote-ref&quot; role=&quot;doc-noteref&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;. Si bien que pour chaque élément (ici ma_div) possédant un identifiant numérique on aura trois variables à utiliser selon les contextes&amp;#160;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
.ma_div {
  --hue: calc(h + (55 * id_de_la_div));

  /* gamme douce */
  --specific-color-muted: oklch(0.75 0.06 var(--hue)); 
  /* gamme vive */
  --specific-color-vibrant: oklch(0.48 0.15 var(--hue));
  /* gamme dark mode */
  --specific-color-dark: color-mix(oklch(0.75 0.06 var(--hue)), var(--body-bg));
}

/* affectation selon le contexte */
.muted .ma_div {
    --specific-color: --specific-color-muted;
  }
.vibrant .ma_div {
    --specific-color: --specific-color-vibrant;
  }
.dark .ma_div {
    --specific-color: --specific-color-dark;
  }

/* Utilisation */
.ma_div header {
  background-color: var(--specific-color);
  color: oklch(from var(--specific-color) round(1.21 - L) 0 0);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Note&amp;#160;: la dernière ligne est la cerise sur le gâteau de ce qui est possible avec OKLCH, calculer automatiquement le texte noir ou blanc selon la couleur de fond. Merci &lt;a href=&quot;https://css-tricks.com/approximating-contrast-color-with-other-css-features/&quot;&gt;Kevin Hamer&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;J&amp;#8217;ai fait un &lt;a href=&quot;https://codepen.io/editor/Kozlika/pen/019cf10f-2bbb-7ecc-9dfa-879098718551&quot;&gt;code pen&lt;/a&gt; sur ce principe, bien que je n&amp;#8217;ai pas pu reproduire la récupération de la valeur de l&amp;#8217;identifiant d&amp;#8217;une catégorie avec les seuls outils proposés mais ça peut vous donner une idée en point de départ de vos propres expérimentations. Aussi, je ne sais pas pourquoi mais les couleurs sont vachement plus moches sur cette démo qu&amp;#8217;en vrai&amp;#160;!&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
&lt;hr /&gt;
&lt;ol&gt;

&lt;li id=&quot;fn:ts1774769824648265.2&quot; role=&quot;doc-endnote&quot;&gt;
&lt;p&gt;Pour le moment, seuls les navigateurs chromium acceptent de traiter un nombre dans un attribut comme une valeur numérique, ce qui permettrait d&amp;#8217;utiliser directement &lt;code&gt;attr(data-cat_id type(&amp;lt;number&amp;gt;)&lt;/code&gt;. Comme ça ne pouvait être utilisé partout, j&amp;#8217;ai eu recours à un hack en introduisant la définition de la variable &lt;a href=&quot;https://codeberg.org/Kozlika/Adele/src/branch/main/tpl/_entry-content.html#L2&quot;&gt;dans un attribut style inline&lt;/a&gt;. Spa beau mais ça marche en attendant que tous les navigateurs sachent interpréter un attribut en number.&amp;#160;&lt;a href=&quot;https://ateliers.klafoutis.org/post/2026/03/28/G%C3%A9n%C3%A9rer-automatiquement-des-palettes-via-CSS-avec-OKLCH#fnref:ts1774769824648265.2&quot; class=&quot;footnote-backref&quot; role=&quot;doc-backlink&quot; title=&quot;Retour au contenu 1&quot;&gt;&amp;#8617;&amp;#xFE0E;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id=&quot;fn:ts1774769824648265.1&quot; role=&quot;doc-endnote&quot;&gt;
&lt;p&gt;Parution dans les jours qui viennent et il y a &lt;a href=&quot;https://ateliers.klafoutis.org/post/2026/03/29/Th%C3%A8me-%C3%A0-tester-%3A-Ad%C3%A8le&quot;&gt;un billet ici&lt;/a&gt;.&amp;#160;&lt;a href=&quot;https://ateliers.klafoutis.org/post/2026/03/28/G%C3%A9n%C3%A9rer-automatiquement-des-palettes-via-CSS-avec-OKLCH#fnref:ts1774769824648265.1&quot; class=&quot;footnote-backref&quot; role=&quot;doc-backlink&quot; title=&quot;Retour au contenu 1&quot;&gt;&amp;#8617;&amp;#xFE0E;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
</description>
        
                  <comments>https://ateliers.klafoutis.org/post/2026/03/28/G%C3%A9n%C3%A9rer-automatiquement-des-palettes-via-CSS-avec-OKLCH#comment-form</comments>
          <wfw:comment>https://ateliers.klafoutis.org/post/2026/03/28/G%C3%A9n%C3%A9rer-automatiquement-des-palettes-via-CSS-avec-OKLCH#comment-form</wfw:comment>
          <wfw:commentRss>https://ateliers.klafoutis.org/feed/atom/comments/10081</wfw:commentRss>
              </item>
          <item>
        <title>Rafraîchissement de Ductile : phase 3</title>
        <link>https://ateliers.klafoutis.org/post/2026/02/27/Rafra%C3%AEchissement-de-Ductile-%3A-phase-3-%28fin-%29</link>
        <guid isPermaLink="false">urn:md5:fa469291f96120d80a6688386e3b563a</guid>
        <pubDate>Fri, 27 Feb 2026 13:33:00 +0100</pubDate>
        <dc:creator>Kozlika</dc:creator>
                  <category>Carnet de notes</category>
                          <category>thèmes</category>
                  <category>work in progress</category>
                <description> &lt;p&gt;Ductile est installé et prêt à être testé sur ce blog. Si ça n&amp;#8217;est pas celui qui s&amp;#8217;affiche sur votre écran, vous pouvez le sélectionner dans la boîte de menu «&amp;#160;Changer le thème&amp;#160;» ou en cliquant sur &lt;a href=&quot;https://ateliers.klafoutis.org/post/2026/02/27/?theme=Ductile2026&quot;&gt;ce lien&lt;/a&gt;. Une boîte permet aussi de tester les modes clair et sombre, quelle que soit l&amp;#8217;heure.&lt;/p&gt;

&lt;p&gt;Si vous croisez un bug, merci de le signaler dans les commentaires de ce billet ou d&amp;#8217;ouvrir un ticket &lt;a href=&quot;https://codeberg.org/franckpaul/Ductile2026&quot;&gt;sur le dépôt&lt;/a&gt;.&lt;/p&gt;
</description>
        
              </item>
          <item>
        <title>Rafraîchissement de Ductile : phase 2</title>
        <link>https://ateliers.klafoutis.org/post/2026/02/18/Rafra%C3%AEchissement-de-Ductile-%3A-phase-2</link>
        <guid isPermaLink="false">urn:md5:0a92d3e0e3b17c8f85d8193026722f09</guid>
        <pubDate>Wed, 18 Feb 2026 10:40:00 +0100</pubDate>
        <dc:creator>Kozlika</dc:creator>
                  <category>Carnet de notes</category>
                          <category>thèmes</category>
                  <category>work in progress</category>
                <description> &lt;p&gt;Comme la lectrice avertie l&amp;#8217;aura subodoré à la lecture du billet précédent de ce matin, je vais poursuivre les travaux en parallèle avec Franck et pour ce faire, nous avons créé un dépôt de code commun et j&amp;#8217;ai fait une installation sur mon ordinateur pour pouvoir récupérer ses modifs au fur et à mesure — et lui les miennes.&lt;/p&gt;

&lt;p&gt;Il ne sera donc pas possible de voir les changements en live pour le moment. En revanche, je vais tâcher de continuer ici à indiquer au fur et à mesure ma liste en vrac des modifs. Elles seront d&amp;#8217;ailleurs de deux ordres&amp;#160;: les améliorations de l&amp;#8217;existant (ce sera plutôt moi) et le configurateur (plutôt Franck).&lt;/p&gt;

&lt;p&gt;Je remettrai le thème à jour ici quand nous aurons une version distribuable ou proche de la distribution.&lt;/p&gt;

&lt;h3&gt;Modifs de la phase 2&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Templates: il y avait un souci avec l&amp;#8217;intégration de la description du blog dans l&amp;#8217;entête, correction du template du top.&lt;/li&gt;
&lt;li&gt;Templates&amp;#160;: la liste des billets d&amp;#8217;une catégorie inclut ceux des sous-catégories éventuelles&lt;sup id=&quot;fnref:ts1772195620365160.1&quot;&gt;&lt;a href=&quot;https://ateliers.klafoutis.org/post/2026/02/18/Rafra%C3%AEchissement-de-Ductile-%3A-phase-2#fn:ts1772195620365160.1&quot; class=&quot;footnote-ref&quot; role=&quot;doc-noteref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;li&gt;Templates&amp;#160;: réintégration des widgets blogcustom dans la sidebar.&lt;/li&gt;
&lt;li&gt;CSS&amp;#160;: amélioration de l&amp;#8217;affichage des images (petite réserve tout autour, fond légèrement grisé).&lt;/li&gt;
&lt;li&gt;CSS&amp;#160;: correction du chapo qui était collé au premier paragraphe du corps du texte.&lt;/li&gt;
&lt;li&gt;CSS&amp;#160;: présentation du code et texte préformaté, correction pour ne pas souligner chaque ligne en cas de pre + code.&lt;/li&gt;
&lt;li&gt;CSS&amp;#160;: archives&amp;#160;: la présentation en arbre des catégories et sous-catégories est désormais en full css sans images.&lt;/li&gt;
&lt;li&gt;CSS&amp;#160;: distribution des blocs d&amp;#8217;archives par catégorie et par tags améliorée.&lt;/li&gt;
&lt;li&gt;CSS&amp;#160;: améliorations diverses et variées du rendu sur mobiles et petits écrans.&lt;/li&gt;
&lt;li&gt;CSS&amp;#160;: les listes sont en pure CSS, sans images.&lt;/li&gt;
&lt;li&gt;CSS&amp;#160;: présentation des blocs &lt;code&gt;aside&lt;/code&gt; ainsi que des &lt;code&gt;details&lt;/code&gt;/&lt;code&gt;summary&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;CSS&amp;#160;: styles pour le mode sombre.&lt;/li&gt;
&lt;li&gt;Couleurs&amp;#160;: harmonisation couleur du fond des stickers, des icônes de flux et des boutons de prévisu/validation, suppression des dégradés.&lt;/li&gt;
&lt;li&gt;Images&amp;#160;: optimisation, passage en svg chaque fois que possible.&lt;/li&gt;
&lt;li&gt;Tech&amp;#160;: regénération du screenshot (petite image de prévisu du thème pour l&amp;#8217;admin).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
&lt;hr /&gt;
&lt;ol&gt;

&lt;li id=&quot;fn:ts1772195620365160.1&quot; role=&quot;doc-endnote&quot;&gt;
&lt;p&gt;C&amp;#8217;était d&amp;#8217;ores et déjà possible via un réglage des paramètres du blog, checkbox &lt;em&gt;Inclure les sous-catégories dans la page des catégories et dans les flux de billets pour une catégorie&lt;/em&gt; mais c&amp;#8217;est ici en dur parce que neuf utilisateurices sur dix ne savent même pas que ce réglage existe et qu&amp;#8217;il me semble que le texte &amp;#8220;Filtrer par sous-catégorie&amp;#8221; au lieu de l&amp;#8217;actuel &amp;#8220;Sous-catégories&amp;#8221; est plus clair.&amp;#160;&lt;a href=&quot;https://ateliers.klafoutis.org/post/2026/02/18/Rafra%C3%AEchissement-de-Ductile-%3A-phase-2#fnref:ts1772195620365160.1&quot; class=&quot;footnote-backref&quot; role=&quot;doc-backlink&quot; title=&quot;Retour au contenu 1&quot;&gt;&amp;#8617;&amp;#xFE0E;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
</description>
        
              </item>
          <item>
        <title>Pense-bête pour déménagement de blog</title>
        <link>https://ateliers.klafoutis.org/post/2026/02/18/Pense-b%C3%AAte-pour-d%C3%A9m%C3%A9nagement-de-blog</link>
        <guid isPermaLink="false">urn:md5:91d2c443db0351b6a5fd5c0dd51ea62e</guid>
        <pubDate>Wed, 18 Feb 2026 06:38:00 +0100</pubDate>
        <dc:creator>Kozlika</dc:creator>
                  <category>Carnet de notes</category>
                          <category>plugins</category>
                  <category>thèmes</category>
                  <category>tips</category>
                  <category>work in progress</category>
                <description> &lt;p&gt;Le déménagement d&amp;#8217;un blog (ou sa copie) est, dans le beau pays de Théorie, plutôt facile. On exporte les billets et les médias via l&amp;#8217;item Import / Export puis on les importe sur le blog cible grâce au même item.&lt;/p&gt;

&lt;p&gt;Attention cependant, il peut y avoir des ajustements à faire, comme ce fut le cas pour moi. J&amp;#8217;ai créé un environnement de travail sur mon ordinateur pour poursuivre le travail de rafraîchissement du thème Ductile en m&amp;#8217;appuyant sur les billets et médias du &lt;a href=&quot;https://demothemes.dotclear.org&quot;&gt;blog de démo&lt;/a&gt; des thèmes pour Dotclear.&lt;/p&gt;

&lt;p&gt;Mon Dotclear local est basique, sans ajout d&amp;#8217;aucun plugin, afin de reproduire l&amp;#8217;environnement d&amp;#8217;un·e utilisateurice venant tout juste d&amp;#8217;installer son bébé. Or le blog de démo est augmenté du plugin &lt;a href=&quot;https://dotclear.org/plugin/detail/legacyMarkdown-10.0&quot;&gt;MarkdownSyntax&lt;/a&gt;, qui comme son nom l&amp;#8217;indique permet la saisie des billets en syntaxe Markdown. Il en est résulté que les billets écrits dans cette syntaxe sur le blog de démo sont arrivés dans mon blog local restitués en texte brut au lieu de la mise en forme qu&amp;#8217;elle permettait.&lt;/p&gt;

&lt;aside&gt;

&lt;p&gt;Tip 1. Installer les plugins indispensables sur le blog cible (ici MarkdownSyntax).&lt;/p&gt;

&lt;/aside&gt;

&lt;p&gt;Autre souci, plus difficile à gérer si l&amp;#8217;on a beaucoup de médias dans le blog&amp;#160;: les constructions respectives des URLs menant vers les médias peuvent différer entre le blog d&amp;#8217;origine et le blog cible. Ainsi, dans mon blog local l&amp;#8217;url relative est &lt;code&gt;/dotclear/public/&amp;lt;chemin_du_fichier&amp;gt;&lt;/code&gt; alors que sur le blog de démo c&amp;#8217;est &lt;code&gt;/blogfiles/dc-demothemes/public/&amp;lt;chemin_du_fichier&amp;gt;&lt;/code&gt;. Plus aucune image ne s&amp;#8217;affichait donc sur mon blog local. En l&amp;#8217;occurrence, comme c&amp;#8217;est un petit blog j&amp;#8217;ai pu corriger les chemins à la main mais sur un gros blog cela peut demander un gros travail d&amp;#8217;aller tout corriger…&lt;/p&gt;

&lt;aside&gt;

&lt;p&gt;Tip 2. Reproduire le modèle d&amp;#8217;url sur le blog cible ou chercher/remplacer les anciens chemins vers /public/ par le nouveau dans le fichier de sauvegarde avant de l’importer.&lt;/p&gt;

&lt;/aside&gt;

&lt;p&gt;Je ne sais pas s&amp;#8217;il serait possible d&amp;#8217;améliorer le plugin Import / Export pour faciliter ce type de tâche mais ce serait une amélioration non négligeable. Par exemple on pourrait offrir le choix entre sauvegarde simple et export en vue de migration avec un champ dédié pour le nouveau &lt;code&gt;public_url&lt;/code&gt;&amp;#160;?&lt;/p&gt;
</description>
        
              </item>
          <item>
        <title>Rafraîchissement de Ductile : phase 1</title>
        <link>https://ateliers.klafoutis.org/post/2026/02/16/Rafra%C3%AEchissement-de-Ductile</link>
        <guid isPermaLink="false">urn:md5:b1c64fdecf9d1f4bc1fa1f92a98b7271</guid>
        <pubDate>Mon, 16 Feb 2026 10:16:00 +0100</pubDate>
        <dc:creator>Kozlika</dc:creator>
                  <category>Carnet de notes</category>
                          <category>work in progress</category>
                <description> &lt;p&gt;Histoire de me remettre dans le bain, je replonge dans le thème Ductile pour le rafraîchir. Ceci est un billet que je compléterai au fil de mon travail, une sorte de journal de bord, tant pour redécouvrir la mécanique des thèmes de Dotclear que réveiller ma mémoire côté CSS… et me remettre progressivement à jour de mes connaissances.&lt;/p&gt;

&lt;p&gt;Les retours et suggestions sont évidemment plus que bienvenus dans les commentaires.&lt;/p&gt;

&lt;h3&gt;Environnement de travail&lt;/h3&gt;

&lt;p&gt;Pour pouvoir tester ici, j&amp;#8217;ai commencé par dupliquer le thème Ductile. C&amp;#8217;est sur cette copie que je vais travailler. Dans le fichier &lt;code&gt;_define.php&lt;/code&gt;, je remplace le nom créé automatiquement (Ductile (copie)) par &lt;code&gt;Ductile 2026&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;Work in progress en live&lt;/h3&gt;

&lt;p&gt;On peut comparer ancienne et nouvelle version grâce au &lt;a href=&quot;https://dotclear.org/plugin/detail/arlequin-2.36.1&quot;&gt;plugin Arlequin&lt;/a&gt; installé ici qui permet d&amp;#8217;afficher un bloc «&amp;#160;Changer le thème&amp;#160;» dans le sidebar. L&amp;#8217;ancienne continue de s&amp;#8217;appeler Ductile et la nouvelle se nomme &lt;strong&gt;Ductile 2026&lt;/strong&gt;.&lt;/p&gt;

&lt;aside&gt;

&lt;p&gt;Le sélecteur de thème est en cours de correction, il est pour l&amp;#8217;instant nécessaire de rafraîchir la page après avoir choisi un autre thème.&lt;/p&gt;

&lt;/aside&gt;

&lt;h3&gt;Modifs CSS non visibles&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fusion des règles css dans un seul fichier&amp;#160;: au lieu des include, copie-colle les règles dans des &lt;a href=&quot;https://css-tricks.com/almanac/rules/l/layer/&quot; hreflang=&quot;en&quot;&gt;&lt;code&gt;@layer {}&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Ajout de variables pour les fontes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Modifs visibles&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;remplacement du logo par le même mais en svg et sombre pour rééquilibrer sombre/clair dans l&amp;#8217;entête&amp;#160;;&lt;/li&gt;
&lt;li&gt;remplacement des stickers png par des sitckers svg, même fond que la feuille&amp;#160;;&lt;/li&gt;
&lt;li&gt;sur mobile, fond du titre du blog en bleu&amp;#160;;&lt;/li&gt;
&lt;li&gt;famille de caractères&amp;#160;: conservation du serif, mais remplacée par une serif dite transitionnelle&amp;#160;;&lt;/li&gt;
&lt;li&gt;taille de base des caractères un peu augmentée (de 100% à 105%)&amp;#160;;&lt;/li&gt;
&lt;li&gt;taille du titre du blog légèrement augmentée aussi et un peu plus d&amp;#8217;espace au-dessus de la baseline&amp;#160;;&lt;/li&gt;
&lt;li&gt;suppression des text-shadow en différents endroits (titre du blog&lt;/li&gt;
&lt;li&gt;augmentation de l&amp;#8217;interlignage de base de 1.5 à 1.6&amp;#160;;&lt;/li&gt;
&lt;li&gt;réduction des marges de côté pour la zone principale sur les écrans de largeur supérieure à celle des tablettes&amp;#160;;&lt;/li&gt;
&lt;li&gt;réduction légère de la taille des titres de billet, de 2.5em à 2.25em&amp;#160;;&lt;/li&gt;
&lt;li&gt;augmentation de la marge entre les billets (dans les présentations en liste) à 2em au lieu de 1em&amp;#160;;&lt;/li&gt;
&lt;li&gt;appels de note en bleu, en gras, un peu décollés du texte&amp;#160;;&lt;/li&gt;
&lt;li&gt;notes&amp;#160;: filet de séparation un poil plus large&amp;#160;; marge au-dessus un peu plus grande&amp;#160;;&lt;/li&gt;
&lt;li&gt;augmentation légère de l&amp;#8217;espace intérieur des boîtes de la sidebar&amp;#160;;&lt;/li&gt;
&lt;li&gt;suppression du hideux dégradé du bandeau de navigation de billet en billet&amp;#160;;&lt;/li&gt;
&lt;li&gt;bandeau de navigation&amp;#160;: précédent à gauche et suivant à droite au lieu des deux centrés&amp;#160;;&lt;/li&gt;
&lt;li&gt;correction du débordement du post-info lorsque le nom de la catégorie ou du tag est trop long&amp;#160;;&lt;/li&gt;
&lt;li&gt;soulignement des liens un poil moins collé, grâce à &lt;code&gt;text-underline-position: from-font;&lt;/code&gt; et &lt;code&gt;text-underline-offset: .2em;&lt;/code&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;remplacement du set d&amp;#8217;icônes (et passage au format svg)&amp;#160;;&lt;/li&gt;
&lt;li&gt;ajout de styles pour l&amp;#8217;élément &lt;code&gt;aside&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description>
        
              </item>
          <item>
        <title>Réveil des ateliers</title>
        <link>https://ateliers.klafoutis.org/post/2026/02/01/R%C3%A9veil-des-ateliers</link>
        <guid isPermaLink="false">urn:md5:73dc4cafd829dc26148fe11990f32e19</guid>
        <pubDate>Sun, 01 Feb 2026 06:27:00 +0100</pubDate>
        <dc:creator>Kozlika</dc:creator>
                  <category>Carnet de notes</category>
                        <description> &lt;p&gt;Je ranime ce blog pour bosser sur des thèmes. Je n&amp;#8217;efface pas les billets anciens mais je les ai tous classés dans une catégorie «&amp;#160;Grenier&amp;#160;», pour mémoire.&lt;/p&gt;


&lt;p&gt;Nonobstant, **tous les billets antérieurs au présent billet sont considérés obsolètes.**&lt;/p&gt;</description>
        
              </item>
      </channel>
</rss>
