<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title><![CDATA[Zhiyuan Lin]]></title>
    <link>https://stlin256.github.io/OpenHomepage-V2/</link>
    <description><![CDATA[Page personnelle de Zhiyuan Lin : recherche en apprentissage automatique, open source et notes de lecture]]></description>
    <language>fr</language>
    <lastBuildDate>Fri, 04 Sep 2026 04:52:14 GMT</lastBuildDate>
    <atom:link rel="self" type="application/rss+xml" href="https://stlin256.github.io/OpenHomepage-V2/fr/feed.xml"/>
    <item>
      <title><![CDATA[Fonctionnalités]]></title>
      <link>https://stlin256.github.io/OpenHomepage-V2/fr/features</link>
      <guid isPermaLink="true">https://stlin256.github.io/OpenHomepage-V2/fr/features</guid>
      <pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate>
      <atom:updated>2026-08-29T00:00:00.000Z</atom:updated>
      <description><![CDATA[Un tour complet des capacités de rendu markdown de ce site]]></description>
      <content:encoded><![CDATA[<p>Cette page présente chaque type de contenu pris en charge par le site. La source est un simple fichier markdown (<code>data/pages/fr/features.md</code>) — ouvrez-le dans l'éditeur pour comparer.</p>
<h2>Texte et typographie</h2>
<p><strong>Gras</strong>, <em>italique</em>, <del>barré</del>, <code>code inline</code>, et <a href="https://example.com" title="hover me" target="_blank" rel="noopener noreferrer" class="external-link">liens avec titre<svg class="external-link-icon" viewBox="0 0 24 24" width="12" height="12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7"></path><path d="M7 7h10v10"></path></svg></a>.</p>
<blockquote>
<p>En typographie de magazine, les citations sont l'espace pour respirer.
— un amateur de typographie</p>
</blockquote>
<ul class="contains-task-list">
<li>
<p>Élément à puces A</p>
</li>
<li>
<p>Élément à puces B</p>
<ul>
<li>Élément imbriqué</li>
</ul>
</li>
<li class="task-list-item">
<p><input type="checkbox" checked disabled> Fait : pipeline de site statique</p>
</li>
<li class="task-list-item">
<p><input type="checkbox" checked disabled> Fait : rendu markdown</p>
</li>
<li class="task-list-item">
<p><input type="checkbox" disabled> En cours : écrire plus de contenu</p>
</li>
</ul>

























<div class="md-table-wrap"><table><thead><tr><th>Fonctionnalité</th><th>Syntaxe</th><th>Moteur de rendu</th></tr></thead><tbody><tr><td>Coloration de code</td><td><code>```python</code></td><td>Shiki</td></tr><tr><td>Mathématiques</td><td><code>$E=mc^2$</code></td><td>KaTeX</td></tr><tr><td>Lecteur intégré</td><td><code>::bilibili{}</code></td><td>Directive personnalisée</td></tr></tbody></table></div>
<h2>Coloration de code</h2>
<pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0" data-language="python"><code class="language-python"><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> torch</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> cosine_lr</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(step: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">int</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, total: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">int</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, base: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">float</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 3e-4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) -> </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">    """Cosine-annealed learning rate."""</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    t </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> min</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(step </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">/</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> total, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> base </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.5</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> *</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> torch.cos(torch.tensor(t </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 3.14159</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)))</span></span></code></pre>
<h2>Mathématiques</h2>
<p>En ligne <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>e</mi><mrow><mi>i</mi><mi>π</mi></mrow></msup><mo>+</mo><mn>1</mn><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">e^{i\pi} + 1 = 0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.908em;vertical-align:-0.0833em;"></span><span class="mord"><span class="mord mathnormal">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8247em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0359em;">iπ</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span>, et softmax en bloc :</p>
<span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mi mathvariant="normal">s</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">f</mi><mi mathvariant="normal">t</mi><mi mathvariant="normal">m</mi><mi mathvariant="normal">a</mi><mi mathvariant="normal">x</mi></mrow><mo stretchy="false">(</mo><msub><mi>z</mi><mi>i</mi></msub><mo stretchy="false">)</mo><mo>=</mo><mfrac><mrow><mi>exp</mi><mo>⁡</mo><mo stretchy="false">(</mo><msub><mi>z</mi><mi>i</mi></msub><mo stretchy="false">)</mo></mrow><mrow><msubsup><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></msubsup><mi>exp</mi><mo>⁡</mo><mo stretchy="false">(</mo><msub><mi>z</mi><mi>j</mi></msub><mo stretchy="false">)</mo></mrow></mfrac></mrow><annotation encoding="application/x-tex">\mathrm{softmax}(z_i) = \frac{\exp(z_i)}{\sum\nolimits_{j=1}^{K} \exp(z_j)}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathrm">softmax</span></span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.044em;">z</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.044em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:2.734em;vertical-align:-1.307em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.427em;"><span style="top:-2.1288em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mop"><span class="mop op-symbol small-op" style="position:relative;top:0em;">∑</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9812em;"><span style="top:-2.4003em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span><span class="mrel mtight">=</span><span class="mord mtight">1</span></span></span></span><span style="top:-3.2029em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0715em;">K</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.4358em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop">exp</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.044em;">z</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.044em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mclose">)</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mop">exp</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.044em;">z</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.044em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.307em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span>
<h2>Figures et grilles</h2>
<figure style="width:72%"><img src="https://stlin256.github.io/OpenHomepage-V2/OpenHomepage-V2/assets/figure-1.jpg" alt="Fig. 1 : un COMAC C909 volant bas au-dessus de moi (directive figure avec largeur et légende)" loading="lazy"><figcaption>Fig. 1 : un COMAC C909 volant bas au-dessus de moi (directive figure avec largeur et légende)</figcaption></figure>
<p>Grille à deux colonnes (se replie en une colonne sur mobile) :</p>
<div class="md-grid" style="grid-template-columns:repeat(2,1fr)"><div class="md-grid-cell"><p>Texte à gauche. La typographie de magazine, c'est <strong>les blancs et l'alignement</strong>, pas la décoration.</p></div><div class="md-grid-cell"><figure style="width:100%"><img src="https://stlin256.github.io/OpenHomepage-V2/OpenHomepage-V2/assets/figure-2.jpg" alt="Coucher de soleil sur le pont Haixin" loading="lazy"><figcaption>Coucher de soleil sur le pont Haixin</figcaption></figure></div></div>
<h2>Lecteurs intégrés</h2>
<p>Les lecteurs affichent directement l'iframe officielle dans un conteneur 16:9 responsive (<code>loading="lazy"</code>, pour que le premier affichage reste rapide) :</p>
<div class="embed-player embed-youtube" data-embed-kind="youtube" data-embed-id="aircAruvnKk" data-embed-src="https://www.youtube-nocookie.com/embed/aircAruvnKk?autoplay=1" data-embed-title="But what is a neural network? | Deep learning chapter 1" role="region" aria-label="But what is a neural network? | Deep learning chapter 1" tabindex="0"><img class="embed-poster" src="https://stlin256.github.io/OpenHomepage-V2/OpenHomepage-V2/assets/cover-youtube-aircaruvnkk.jpg" alt="But what is a neural network? | Deep learning chapter 1" loading="lazy" decoding="async" referrerpolicy="no-referrer"><div class="embed-topbar"><span class="embed-brand-icon"><svg class="embed-brand-svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M23.5 6.2c-.3-1-1-1.8-2-2.1C19.7 3.5 12 3.5 12 3.5s-7.7 0-9.5.6c-1 .3-1.7 1.1-2 2.1C0 8 0 12 0 12s0 4 .5 5.8c.3 1 1 1.8 2 2.1 1.8.6 9.5.6 9.5.6s7.7 0 9.5-.6c1-.3 1.7-1.1 2-2.1.5-1.8.5-5.8.5-5.8s0-4-.5-5.8zM9.5 15.5v-7l6 3.5-6 3.5z"></path></svg></span><span class="embed-title">But what is a neural network? | Deep learning chapter 1</span></div><button type="button" class="embed-play-btn embed-play-btn-yt" aria-label="Lire la vidéo YouTube: But what is a neural network? | Deep learning chapter 1"><svg class="embed-yt-svg" viewBox="0 0 68 48" width="68" height="48" aria-hidden="true"><path class="embed-yt-btn-bg" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z"></path><path class="embed-yt-btn-arrow" d="M 45,24 27,14 27,34" fill="#ffffff"></path></svg></button><div class="embed-bottombar"><span class="embed-corner-badge">YouTube</span></div></div>
<div class="embed-player embed-bilibili" data-embed-kind="bilibili" data-embed-id="BV13z421U7cs" data-embed-src="https://player.bilibili.com/player.html?bvid=BV13z421U7cs&#x26;autoplay=1" data-embed-title="【官方双语】GPT是什么？直观解释Transformer | 深度学习第5章" role="region" aria-label="【官方双语】GPT是什么？直观解释Transformer | 深度学习第5章" tabindex="0"><img class="embed-poster" src="https://stlin256.github.io/OpenHomepage-V2/OpenHomepage-V2/assets/cover-bilibili-bv13z421u7cs.jpg" alt="【官方双语】GPT是什么？直观解释Transformer | 深度学习第5章" loading="lazy" decoding="async" referrerpolicy="no-referrer"><div class="embed-topbar"><span class="embed-brand-icon"><svg class="embed-brand-svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M17.813 4.653h.854c1.51.054 2.769.578 3.773 1.574 1.004.995 1.524 2.249 1.56 3.76v7.36c-.036 1.51-.556 2.769-1.56 3.773s-2.262 1.524-3.773 1.56H5.333c-1.51-.036-2.769-.556-3.773-1.56S.036 18.858 0 17.347v-7.36c.036-1.511.556-2.765 1.56-3.76 1.004-.996 2.262-1.52 3.773-1.574h.774l-1.174-1.12a1.234 1.234 0 0 1-.373-.906c0-.356.124-.658.373-.907l.027-.027c.267-.249.573-.373.92-.373.347 0 .653.124.92.373L9.653 4.44c.071.071.134.142.187.213h4.267a.836.836 0 0 1 .16-.213l2.853-2.747c.267-.249.573-.373.92-.373.347 0 .662.151.929.4.267.249.391.551.391.907 0 .355-.124.657-.373.906zM5.333 7.24c-.746.018-1.373.276-1.88.773-.506.498-.769 1.13-.786 1.894v7.52c.017.764.28 1.395.786 1.893.507.498 1.134.756 1.88.773h13.334c.746-.017 1.373-.275 1.88-.773.506-.498.769-1.129.786-1.893v-7.52c-.017-.765-.28-1.396-.786-1.894-.507-.497-1.134-.755-1.88-.773zM8 11.107c.373 0 .684.124.933.373.25.249.383.569.4.96v1.173c-.017.391-.15.711-.4.96-.249.25-.56.374-.933.374s-.684-.125-.933-.374c-.25-.249-.383-.569-.4-.96V12.44c0-.373.129-.689.386-.947.258-.257.574-.386.947-.386zm8 0c.373 0 .684.124.933.373.25.249.383.569.4.96v1.173c-.017.391-.15.711-.4.96-.249.25-.56.374-.933.374s-.684-.125-.933-.374c-.25-.249-.383-.569-.4-.96V12.44c.017-.391.15-.711.4-.96.249-.249.56-.373.933-.373Z"></path></svg></span><span class="embed-title">【官方双语】GPT是什么？直观解释Transformer | 深度学习第5章</span></div><button type="button" class="embed-play-btn embed-play-btn-bili" aria-label="Lire la vidéo bilibili: 【官方双语】GPT是什么？直观解释Transformer | 深度学习第5章"><svg class="embed-bili-svg" viewBox="0 0 64 64" width="64" height="64" aria-hidden="true"><circle class="embed-bili-btn-circle" cx="32" cy="32" r="28"></circle><path class="embed-bili-btn-arrow" d="M 26,20 L 46,32 L 26,44 Z" fill="#ffffff"></path></svg></button><div class="embed-bottombar"><span class="embed-corner-badge">bilibili</span></div></div>
<p>Médias auto-hébergés (balises natives) :</p>
<video src="https://stlin256.github.io/OpenHomepage-V2/OpenHomepage-V2/assets/feature-flower.mp4" controls preload="metadata" poster="/OpenHomepage-V2/assets/feature-flower-poster.jpg"></video>
<div class="audio-player md-audio" data-src="/OpenHomepage-V2/assets/bgm.mp3" data-mode="compact" role="group" aria-label="Goldberg Variations, BWV 988 · Aria" data-title="Goldberg Variations, BWV 988 · Aria"><div class="audio-user"><button class="btn-toggle" type="button" aria-label="Lecture"><svg class="icon-play" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M8 5v14l11-7z"></path></svg><svg class="icon-pause" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M6 5h4v14H6zM14 5h4v14h-4z"></path></svg></button><div class="audio-meta"><span class="audio-scroll"><span class="audio-title audio-scroll-text" data-marquee="true">Goldberg Variations, BWV 988 · Aria</span></span><div class="audio-bottom"><span class="audio-time">--:-- / --:--</span><span class="audio-bars-mini" aria-hidden="true"><span></span><span></span><span></span><span></span><span></span></span></div></div></div><div class="audio-track"><div class="audio-fill"></div></div></div>
<div class="audio-player md-audio audio-card" data-src="/OpenHomepage-V2/assets/bgm.mp3" data-mode="card" role="group" aria-label="Bach: The Goldberg Variations, BWV 988 — Aria" data-title="Bach: The Goldberg Variations, BWV 988 — Aria" data-desc="Johann Sebastian Bach · The 1981 Recordings" data-cover="/OpenHomepage-V2/assets/goldberg-aria-cover.jpg"><div class="audio-cover"><img src="https://stlin256.github.io/OpenHomepage-V2/OpenHomepage-V2/assets/goldberg-aria-cover.jpg" alt="Bach: The Goldberg Variations, BWV 988 — Aria" loading="lazy" decoding="async"></div><div class="audio-content"><div class="audio-scroll"><span class="audio-title audio-scroll-text" data-marquee="true">Bach: The Goldberg Variations, BWV 988 — Aria</span></div><div class="audio-scroll"><span class="audio-desc audio-scroll-text" data-marquee="true">Johann Sebastian Bach · The 1981 Recordings</span></div><div class="audio-bottom"><button class="btn-toggle" type="button" aria-label="Lecture"><svg class="icon-play" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M8 5v14l11-7z"></path></svg><svg class="icon-pause" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M6 5h4v14H6zM14 5h4v14h-4z"></path></svg></button><span class="audio-time">--:-- / --:--</span></div><div class="audio-track"><div class="audio-fill"></div></div></div></div>
<h2>Directives fonctionnelles</h2>





















<div class="md-table-wrap"><table><thead><tr><th>Composant</th><th>Rôle</th></tr></thead><tbody><tr><td>Carte de dépôt GitHub</td><td>Carte d'un dépôt unique issue du cache épinglé</td></tr><tr><td>Bloc de streaming</td><td>Sortie LLM en streaming avec relecture</td></tr><tr><td>Bloc éditorial</td><td>Actions, cartes liste, tuiles, cartes archive et séparateurs</td></tr></tbody></table></div>
<p><strong>Carte de dépôt GitHub</strong> :</p>
<div class="gh-card" data-repo="ggml-org/llama.cpp"></div>
<p><strong>Bloc de streaming</strong> :</p>
<div class="stream-block" data-stream-id="welcome"></div>
<h2>Composants éditoriaux</h2>
<p>Le kit complet ci-dessous est intégré par <code>::editorial{id="features"}</code> depuis <code>editorial_blocks</code> dans <code>site.yaml</code>. Il couvre les actions, les cartes liste numérotées, les tuiles, les cartes archive et un séparateur :</p>
<div class="editorial-embed" data-editorial-id="features"></div>
<p>La carte de contact, la modale QR, le thème clair/sombre, le sélecteur de langue, la musique de fond, la lightbox d'images et la révélation au défilement sont des composants globaux ; interagissez avec cette page pour les voir.</p>

































<div class="md-table-wrap"><table><thead><tr><th>Composant global</th><th>Point d'entrée</th></tr></thead><tbody><tr><td>Carte de contact / modale QR</td><td>Carte en bas à droite ; cliquez pour ouvrir la modale QR</td></tr><tr><td>Bascule de thème</td><td>Bouton soleil / lune en haut à droite</td></tr><tr><td>Sélecteur de langue</td><td>Bouton de langue en haut à droite</td></tr><tr><td>Bascule BGM</td><td>Bouton lecture / pause en haut à droite</td></tr><tr><td>Lightbox</td><td>Cliquez sur une image dans le corps</td></tr><tr><td>Révélation au défilement</td><td>Les blocs apparaissent au fil du défilement</td></tr></tbody></table></div>
<p>Les blocs Profil, GitHub et RSS propres à la page d'accueil sont également rendus intégralement ci-dessous ; ils ne dépendent pas de la mise en page de l'accueil.</p>
<h2>Profile Block · Profil</h2>
<div data-feature-slot="profile"></div>
<h2>GitHub Block · Heatmap et dépôts</h2>
<div data-feature-slot="github"></div>
<h2>RSS Block · Flux de cartes RSS</h2>
<div data-feature-slot="rss"></div>
<h2>Contrôles de page</h2>
<p>Les contrôles de page sont des widgets de niveau page configurés page par page (non globaux). Chaque page peut les définir indépendamment dans son frontmatter ; ils réapparaissent à chaque ouverture ou nouvelle visite de la page, offrant des annonces et des contrôles propres à la page.</p>

























<div class="md-table-wrap"><table><thead><tr><th>Contrôle de page</th><th>Configuration</th><th>Description</th></tr></thead><tbody><tr><td>Bannière d'avis</td><td>Définir <code>notice: "..."</code> ou <code>notice: { text: "...", color: "yellow" }</code> dans le frontmatter</td><td>Apparaît 0,5 s après le chargement ; prend en charge 4 modes de couleur (<code>accent</code>, <code>yellow</code>, <code>red</code>, <code>custom</code>) ; propre à la page et réapparaît à chaque visite ; fermée manuellement en cliquant sur ✕ ; prend en charge liens et formatage en ligne</td></tr><tr><td>Sommaire (TOC)</td><td>Définir <code>toc: true</code> dans le frontmatter</td><td>Barre latérale sticky sur ordinateur avec suivi ScrollSpy du titre actif, tiroir repliable sur mobile</td></tr><tr><td>Barre de progression de lecture</td><td>Définir <code>reading_progress: true</code> dans le frontmatter</td><td>Fine barre de progression de 2 px fixée en haut de page qui suit la lecture en temps réel lors du défilement ; activée par défaut sur cette page de démonstration</td></tr></tbody></table></div>
<blockquote>
<p>💡 Exemple : la <a href="https://stlin256.github.io/OpenHomepage-V2/">page d'accueil</a> de ce site présente une bannière d'avis jaune bien visible (<code>notice: { text: "Ceci est une page de démonstration. Le contenu sert uniquement à présenter les fonctionnalités du projet.", color: "yellow" }</code>) qui apparaît 0,5 s après le chargement.</p>
</blockquote>
<h2>HTML brut mélangé</h2>
<p>Cette ligne utilise la balise HTML native mark. Les balises dangereuses comme <code>&#x3C;script></code> sont filtrées par une liste blanche.</p>
<h2>Callouts &#x26; timeline</h2>
<p>Les directives de contenu P0 n’ajoutent aucun script au chargement : les callouts expliquent ou alertent, la timeline présente parcours et étapes clés.</p>
<aside class="callout callout-note" role="note"><div class="callout-header"><span class="callout-icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M4 4h16v12H8l-4 4V4z"></path></svg></span><p class="callout-title">Entrée reproductible</p></div><p>Articles, outils et expériences restent dans un même index.</p></aside>
<aside class="callout callout-tip" role="note"><div class="callout-header"><span class="callout-icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 2l2.4 6.1L21 9.3l-5 4.4L17.5 20 12 16.7 6.5 20 8 13.7 3 9.3l6.6-1.2L12 2z"></path></svg></span><p class="callout-title">Limite de performance</p></div><p>Les nouvelles directives sont rendues à la construction, sans JavaScript initial supplémentaire.</p></aside>
<aside class="callout callout-warning" role="note"><div class="callout-header"><span class="callout-icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 3l9 16H3l9-16zm-1 6v5h2V9h-2zm0 7v2h2v-2h-2z"></path></svg></span><p class="callout-title">Conclusions prudentes</p></div><p>Un score unique ne remplace pas un rapport de distribution.</p></aside>
<aside class="callout callout-quote" role="note"><div class="callout-header"><span class="callout-icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M7 6c-2.2 0-4 1.8-4 4s1.8 4 4 4c0 2-1 3-3 3v2c3.3 0 5-2.3 5-6V10c0-2.2-1.8-4-4-4zm10 0c-2.2 0-4 1.8-4 4s1.8 4 4 4c0 2-1 3-3 3v2c3.3 0 5-2.3 5-6V10c0-2.2-1.8-4-4-4z"></path></svg></span><p class="callout-title">Field Note</p></div><p>La valeur d’une optimisation vient de mesures reproductibles.</p><p class="callout-source">Zhiyuan Lin, 2026</p></aside>
<section class="timeline reveal"><h2 class="timeline-title">Education &#x26; Experience</h2><ol class="timeline-items"><li class="timeline-item reveal" data-highlight="true" style="--delay:0ms"><p class="timeline-range">2022–2026</p><div class="timeline-item-meta"><a class="timeline-item-title" href="https://stlin256.github.io/OpenHomepage-V2/research">PhD Candidate</a><p class="timeline-org">Example University</p></div><div class="timeline-item-body"><p>Machine learning et systèmes : ordonnancement d’inférence et évaluation reproductible.</p></div></li><li class="timeline-item reveal" style="--delay:90ms"><p class="timeline-range">2026 · Présent</p><div class="timeline-item-meta"><h3 class="timeline-item-title">Research Intern</h3><p class="timeline-org">Example Lab</p></div><div class="timeline-item-body"><p>Expériences d’inférence LLM sur appareils embarqués.</p></div></li></ol></section>
<h2>Publications et notes bibliographiques</h2>
<p><code>data/publications.yaml</code> est la source canonique ; <code>publications.bib</code> fournit le BibTeX brut par clé. Le filtrage, le tri et le regroupement sont réalisés à la construction.</p>
<section class="publications" data-group="year"><section class="publication-group"><h3 class="publication-group-title">2026</h3><article class="publication-item" data-has-teaser="true">
      <div class="publication-index">01</div>
      <div class="publication-main">
        <p class="publication-meta"><span>OSDI 2026</span><span class="publication-badge">oral</span></p>
        <h3 class="publication-title">Efficient Inference with Adaptive Scheduling</h3>
        <p class="publication-authors"><strong>Zhiyuan Lin</strong>, Alice Doe, Bob Smith</p>
        <p class="publication-note">First author; led scheduler design and evaluation.</p>
        <details class="publication-abstract"><summary>Résumé</summary><div class="abstract-content"><p>An adaptive inference scheduler for interactive workloads, evaluated with distribution reports on real traces.</p></div></details>
        <div class="publication-actions"><nav class="publication-links" aria-label="Liens de la publication"><a href="https://stlin256.github.io/OpenHomepage-V2/OpenHomepage-V2/assets/figure-1.jpg" target="_blank" rel="noopener">PDF</a><a href="https://github.com/stlin256/OpenHomepage-V2" target="_blank" rel="noopener">Code</a><a href="https://stlin256.github.io/OpenHomepage-V2/OpenHomepage-V2/research" target="_blank" rel="noopener">Project</a><button type="button" class="publication-copy" data-copy-bibtex="bibtex-efficient-inference-2026">Copier BibTeX</button></nav></div>
        <div class="publication-bibtex"><pre id="bibtex-efficient-inference-2026" tabindex="0" data-pagefind-ignore>@article{lin2026efficient,
  author = {Lin, Zhiyuan and Doe, Alice and Smith, Bob}</pre></div>
      </div>
      <picture class="publication-teaser"><img src="https://stlin256.github.io/OpenHomepage-V2/OpenHomepage-V2/assets/publication-01.jpg" alt="Efficient Inference with Adaptive Scheduling figure" loading="lazy" decoding="async" sizes="(max-width: 768px) 100vw, 220px"></picture>
    </article><article class="publication-item" data-has-teaser="true">
      <div class="publication-index">02</div>
      <div class="publication-main">
        <p class="publication-meta"><span>MLSys Evaluation Workshop</span></p>
        <h3 class="publication-title">Reproducible Evaluation for Open Models</h3>
        <p class="publication-authors">Alice Doe, <strong>Zhiyuan Lin</strong></p>
        <p class="publication-note">Co-author; built the evaluation set and reporting scripts.</p>
        
        <div class="publication-actions"><nav class="publication-links" aria-label="Liens de la publication"><a href="https://stlin256.github.io/OpenHomepage-V2/OpenHomepage-V2/assets/figure-2.jpg" target="_blank" rel="noopener">PDF</a><a href="https://stlin256.github.io/OpenHomepage-V2/OpenHomepage-V2/research" target="_blank" rel="noopener">Project</a><button type="button" class="publication-copy" data-copy-bibtex="bibtex-reproducible-eval-2026">Copier BibTeX</button></nav></div>
        <div class="publication-bibtex"><pre id="bibtex-reproducible-eval-2026" tabindex="0" data-pagefind-ignore>@inproceedings{doe2026reproducible,
  author = {Doe, Alice and Lin, Zhiyuan}</pre></div>
      </div>
      <picture class="publication-teaser"><img src="https://stlin256.github.io/OpenHomepage-V2/OpenHomepage-V2/assets/publication-02.jpg" alt="Reproducible Evaluation for Open Models figure" loading="lazy" decoding="async" sizes="(max-width: 768px) 100vw, 220px"></picture>
    </article></section><section class="publication-group"><h3 class="publication-group-title">2025</h3><article class="publication-item" data-has-teaser="true">
      <div class="publication-index">01</div>
      <div class="publication-main">
        <p class="publication-meta"><span>Journal of Machine Learning Systems</span><span class="publication-badge">artifact</span></p>
        <h3 class="publication-title">Edge KV Cache Compression</h3>
        <p class="publication-authors">Bob Smith, <strong>Zhiyuan Lin</strong></p>
        
        
        <div class="publication-actions"><nav class="publication-links" aria-label="Liens de la publication"><a href="https://github.com/stlin256/OpenHomepage-V2" target="_blank" rel="noopener">Code</a><button type="button" class="publication-copy" data-copy-bibtex="bibtex-edge-cache-2025">Copier BibTeX</button></nav></div>
        <div class="publication-bibtex"><pre id="bibtex-edge-cache-2025" tabindex="0" data-pagefind-ignore>@article{smith2025edge,
  author = {Smith, Bob and Lin, Zhiyuan}</pre></div>
      </div>
      <picture class="publication-teaser"><img src="https://stlin256.github.io/OpenHomepage-V2/OpenHomepage-V2/assets/publication-03.jpg" alt="Edge KV Cache Compression figure" loading="lazy" decoding="async" sizes="(max-width: 768px) 100vw, 220px"></picture>
    </article></section></section>
<p>Ce site prend en charge les citations scientifiques et les <strong>notes de bas de page interactives riches</strong><sup><a href="#user-content-fn-fn-academic" id="user-content-fnref-fn-academic" data-footnote-ref="" aria-describedby="footnote-label" class="footnote-ref">1</a></sup>. Sur ordinateur, le survol affiche un popover intelligent contenant métadonnées, code et équations<sup><a href="#user-content-fn-fn-tech" id="user-content-fnref-fn-tech" data-footnote-ref="" aria-describedby="footnote-label" class="footnote-ref">2</a></sup> ; sur mobile, un tiroir coulissant s'ouvre, suivi d'une annexe dédiée en fin de document<sup><a href="#user-content-fn-fn-spec" id="user-content-fnref-fn-spec" data-footnote-ref="" aria-describedby="footnote-label" class="footnote-ref">3</a></sup>.</p>
<section data-footnotes="" class="footnotes reveal" style="--delay:120ms"><h2 class="footnotes-title" id="footnote-label">Notes de bas de page</h2>
<ol class="footnotes-list">
<li id="user-content-fn-fn-academic" class="footnote-item">
<p><strong>Vaswani et al. (2017)</strong>. <em>Attention Is All You Need</em>. Advances in Neural Information Processing Systems (NeurIPS 2017). <a href="https://arxiv.org/abs/1706.03762" target="_blank" rel="noopener noreferrer" class="external-link">arXiv:1706.03762<svg class="external-link-icon" viewBox="0 0 24 24" width="12" height="12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7"></path><path d="M7 7h10v10"></path></svg></a> <a href="#user-content-fnref-fn-academic" data-footnote-backref="" aria-label="Retour à la référence 1" class="data-footnote-backref"><svg class="footnote-backref-icon" viewBox="0 0 24 24" width="13" height="13" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 14 4 9l5-5"></path><path d="M20 20v-7a4 4 0 0 0-4-4H4"></path></svg></a></p>
</li>
<li id="user-content-fn-fn-tech" class="footnote-item">
<p>Insérez du code <code>O(N \log N)</code> et des formules mathématiques comme <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi><mo>=</mo><mo>−</mo><mo>∑</mo><mi>y</mi><mi>log</mi><mo>⁡</mo><mover accent="true"><mi>y</mi><mo>^</mo></mover></mrow><annotation encoding="application/x-tex">L = -\sum y \log \hat{y}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">L</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">−</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop op-symbol small-op" style="position:relative;top:0em;">∑</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6944em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">^</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span></span></span></span> au sein des notes. <a href="#user-content-fnref-fn-tech" data-footnote-backref="" aria-label="Retour à la référence 2" class="data-footnote-backref"><svg class="footnote-backref-icon" viewBox="0 0 24 24" width="13" height="13" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 14 4 9l5-5"></path><path d="M20 20v-7a4 4 0 0 0-4-4H4"></path></svg></a></p>
</li>
<li id="user-content-fn-fn-spec" class="footnote-item">
<p>Extension de note GFM standard avec popovers interactifs sur bureau et tiroirs sur mobile. <a href="#user-content-fnref-fn-spec" data-footnote-backref="" aria-label="Retour à la référence 3" class="data-footnote-backref"><svg class="footnote-backref-icon" viewBox="0 0 24 24" width="13" height="13" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 14 4 9l5-5"></path><path d="M20 20v-7a4 4 0 0 0-4-4H4"></path></svg></a></p>
</li>
</ol>
</section>]]></content:encoded>
      <dc:language>fr</dc:language>
    </item>
  </channel>
</rss>