<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Agrégation | Zouhair EL Hadiq</title><link>https://elhadiq.github.io/tags/agregation/</link><atom:link href="https://elhadiq.github.io/tags/agregation/index.xml" rel="self" type="application/rss+xml"/><description>Agrégation</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Fri, 31 Jul 2026 00:00:00 +0000</lastBuildDate><image><url>https://elhadiq.github.io/media/icon_hu_982c5d63a71b2961.png</url><title>Agrégation</title><link>https://elhadiq.github.io/tags/agregation/</link></image><item><title>📜 Agrégation — Texte de modélisation informatique : arbres de Merkle &amp; Bitcoin</title><link>https://elhadiq.github.io/blog/agregation-info-merkle-bitcoin/</link><pubDate>Fri, 31 Jul 2026 00:00:00 +0000</pubDate><guid>https://elhadiq.github.io/blog/agregation-info-merkle-bitcoin/</guid><description>
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Avertissement.&lt;/strong&gt; Il s&amp;rsquo;agit d&amp;rsquo;une &lt;strong&gt;proposition personnelle&lt;/strong&gt;, à but pédagogique — &lt;strong&gt;pas une épreuve officielle&lt;/strong&gt; du Concours National Commun (CNC) ni de l&amp;rsquo;Agrégation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Proposition de &lt;strong&gt;texte de modélisation informatique&lt;/strong&gt; pour l&amp;rsquo;écrit d&amp;rsquo;&lt;strong&gt;agrégation&lt;/strong&gt;, construite autour des blocs et transactions de Bitcoin, des arbres de Merkle et de la preuve de travail. Texte et variantes de modélisation rédigés en LaTeX avec l&amp;rsquo;aide de AI.&lt;/p&gt;
&lt;h2 id="télécharger"&gt;Télécharger&lt;/h2&gt;
&lt;div class="text-left"&gt;
&lt;a
id="button-e9834d4256dc499a14843e6279ac1f6b"
href="Agreg_info_merkle_bitcoin.pdf"
class="inline-flex items-center gap-2 font-medium no-underline transition-all duration-300 ease-out transform-gpu focus:outline-none focus:ring-4 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-zinc-900 disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none bg-gradient-to-br from-primary-500 to-primary-600 hover:from-primary-600 hover:to-primary-700 active:from-primary-700 active:to-primary-800 text-white shadow-lg shadow-primary-500/25 hover:shadow-xl hover:shadow-primary-500/30 hover:-translate-y-0.5 hover:scale-[1.02] active:scale-[0.98] focus:ring-primary-500/50 px-4 py-2 text-base rounded-lg"
role="button"
aria-label="Texte d&amp;rsquo;agrégation (PDF)"
&gt;
&lt;span class="flex-shrink-0"&gt;
&lt;svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m.75 12l3 3m0 0l3-3m-3 3v-6m-1.5-9H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;span&gt;Texte d&amp;rsquo;agrégation (PDF)&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="text-left"&gt;
&lt;a
id="button-fd219ce548f4215eb347e8d85ce04046"
href="Modelisation_info_merkle_bitcoin.pdf"
class="inline-flex items-center gap-2 font-medium no-underline transition-all duration-300 ease-out transform-gpu focus:outline-none focus:ring-4 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-zinc-900 disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none bg-white dark:bg-zinc-900 border-2 border-primary-500 text-primary-600 dark:text-primary-400 hover:bg-primary-50 dark:hover:bg-primary-950/50 hover:border-primary-600 active:bg-primary-100 dark:active:bg-primary-950 shadow-md hover:shadow-lg hover:scale-105 active:scale-95 focus:ring-primary-500/50 px-4 py-2 text-base rounded-lg"
role="button"
aria-label="Modélisation — Merkle/Bitcoin (PDF)"
&gt;
&lt;span class="flex-shrink-0"&gt;
&lt;svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m.75 12l3 3m0 0l3-3m-3 3v-6m-1.5-9H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;span&gt;Modélisation — Merkle/Bitcoin (PDF)&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="text-left"&gt;
&lt;a
id="button-28031276775cfb371554d08d8220112f"
href="Modelisation_arbres_de_merkle.pdf"
class="inline-flex items-center gap-2 font-medium no-underline transition-all duration-300 ease-out transform-gpu focus:outline-none focus:ring-4 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-zinc-900 disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none bg-white dark:bg-zinc-900 border-2 border-primary-500 text-primary-600 dark:text-primary-400 hover:bg-primary-50 dark:hover:bg-primary-950/50 hover:border-primary-600 active:bg-primary-100 dark:active:bg-primary-950 shadow-md hover:shadow-lg hover:scale-105 active:scale-95 focus:ring-primary-500/50 px-4 py-2 text-base rounded-lg"
role="button"
aria-label="Modélisation — Arbres de Merkle (PDF)"
&gt;
&lt;span class="flex-shrink-0"&gt;
&lt;svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m.75 12l3 3m0 0l3-3m-3 3v-6m-1.5-9H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;span&gt;Modélisation — Arbres de Merkle (PDF)&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="text-left"&gt;
&lt;a
id="button-c8395e0c3a65ac2dd899285afbb59efa"
href="Modelisation_optionB_AMM.pdf"
class="inline-flex items-center gap-2 font-medium no-underline transition-all duration-300 ease-out transform-gpu focus:outline-none focus:ring-4 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-zinc-900 disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none bg-white dark:bg-zinc-900 border-2 border-primary-500 text-primary-600 dark:text-primary-400 hover:bg-primary-50 dark:hover:bg-primary-950/50 hover:border-primary-600 active:bg-primary-100 dark:active:bg-primary-950 shadow-md hover:shadow-lg hover:scale-105 active:scale-95 focus:ring-primary-500/50 px-4 py-2 text-base rounded-lg"
role="button"
aria-label="Modélisation — Option B, AMM (PDF)"
&gt;
&lt;span class="flex-shrink-0"&gt;
&lt;svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m.75 12l3 3m0 0l3-3m-3 3v-6m-1.5-9H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;span&gt;Modélisation — Option B, AMM (PDF)&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;h2 id="plan-du-texte"&gt;Plan du texte&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Cadre : blocs, transactions et en-tête&lt;/li&gt;
&lt;li&gt;Fonction de hachage : propriétés et collisions&lt;/li&gt;
&lt;li&gt;Racine de Merkle d&amp;rsquo;un bloc&lt;/li&gt;
&lt;li&gt;Preuves de Merkle et vérification simplifiée (SPV)&lt;/li&gt;
&lt;li&gt;Preuve de travail (minage)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Deux variantes de modélisation sont proposées en complément : l&amp;rsquo;une centrée sur les &lt;strong&gt;arbres de Merkle&lt;/strong&gt;, l&amp;rsquo;autre sur une &lt;strong&gt;option B autour des AMM&lt;/strong&gt; (teneurs de marché automatisés).&lt;/p&gt;
&lt;h2 id="illustrations"&gt;Illustrations&lt;/h2&gt;
&lt;figure&gt;&lt;img src="https://elhadiq.github.io/blog/agregation-info-merkle-bitcoin/figs/f3_il.png"
alt="Illustration liée au texte de modélisation"&gt;&lt;figcaption&gt;
&lt;p&gt;Illustration liée au texte de modélisation&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;</description></item><item><title>🧩 Agrégation — Épreuve orale de modélisation : Finalité et responsabilité dans un consensus réparti (Casper)</title><link>https://elhadiq.github.io/blog/casper-modelisation-agregation/</link><pubDate>Fri, 31 Jul 2026 00:00:00 +0000</pubDate><guid>https://elhadiq.github.io/blog/casper-modelisation-agregation/</guid><description>
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Avertissement.&lt;/strong&gt; Il s&amp;rsquo;agit d&amp;rsquo;une &lt;strong&gt;proposition personnelle&lt;/strong&gt;, à but pédagogique — &lt;strong&gt;pas une épreuve officielle&lt;/strong&gt; du Concours National Commun (CNC) ni de l&amp;rsquo;Agrégation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="télécharger"&gt;Télécharger&lt;/h2&gt;
&lt;div class="text-left"&gt;
&lt;a
id="button-96b21513af38deb52806273e6853a2b4"
href="casper_modelisation.pdf"
class="inline-flex items-center gap-2 font-medium no-underline transition-all duration-300 ease-out transform-gpu focus:outline-none focus:ring-4 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-zinc-900 disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none bg-gradient-to-br from-primary-500 to-primary-600 hover:from-primary-600 hover:to-primary-700 active:from-primary-700 active:to-primary-800 text-white shadow-lg shadow-primary-500/25 hover:shadow-xl hover:shadow-primary-500/30 hover:-translate-y-0.5 hover:scale-[1.02] active:scale-[0.98] focus:ring-primary-500/50 px-4 py-2 text-base rounded-lg"
role="button"
aria-label="Texte de modélisation (PDF)"
&gt;
&lt;span class="flex-shrink-0"&gt;
&lt;svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m.75 12l3 3m0 0l3-3m-3 3v-6m-1.5-9H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;span&gt;Texte de modélisation (PDF)&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Texte de modélisation pour l&amp;rsquo;&lt;strong&gt;épreuve orale d&amp;rsquo;informatique de l&amp;rsquo;agrégation&lt;/strong&gt; (option informatique), rédigé d&amp;rsquo;après V. Buterin et V. Griffith, &lt;em&gt;Casper the Friendly Finality Gadget&lt;/em&gt;, Ethereum Foundation, arXiv:1710.09437v4, 2019. Le texte formalise le protocole &lt;strong&gt;Casper&lt;/strong&gt;, mécanisme de finalité en Proof of Stake d&amp;rsquo;Ethereum, et propose dix suggestions de développement indépendantes pour la discussion du candidat.&lt;/p&gt;
&lt;h2 id="plan-du-texte"&gt;Plan du texte&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;1. Le problème&lt;/strong&gt; — du consensus probabiliste (preuve de travail) à la finalité déterministe et imputable&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Le modèle&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Arbre de blocs et points de contrôle&lt;/li&gt;
&lt;li&gt;Validateurs, dépôts et votes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;3. Sûreté responsable et vivacité&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les deux conditions de sanction&lt;/li&gt;
&lt;li&gt;Le lemme d&amp;rsquo;intersection&lt;/li&gt;
&lt;li&gt;Le théorème de sûreté responsable&lt;/li&gt;
&lt;li&gt;Vivacité plausible et règle de choix de fourche&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;4. Aspects algorithmiques&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Calcul des justifiés et des finalisés&lt;/li&gt;
&lt;li&gt;Détection des fautes&lt;/li&gt;
&lt;li&gt;Le coût d&amp;rsquo;une attaque&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;5. Deux extensions et leurs limites&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Jeu de validateurs dynamique&lt;/li&gt;
&lt;li&gt;Révisions lointaines&lt;/li&gt;
&lt;li&gt;Fuite d&amp;rsquo;inactivité&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le texte se conclut par dix suggestions de développement (implémentation de l&amp;rsquo;arbre des points de contrôle, comparaison d&amp;rsquo;algorithmes de calcul des justifiés, vérificateur de fautes, simulation d&amp;rsquo;un réseau de validateurs, étude du coût minimal d&amp;rsquo;une attaque, comparaison avec pBFT et Tendermint, etc.) et une bibliographie.&lt;/p&gt;</description></item><item><title>🪙 CNC Informatique MP — Proposition d'épreuve « Bitcoin » et son corrigé</title><link>https://elhadiq.github.io/blog/cnc-bitcoin/</link><pubDate>Fri, 31 Jul 2026 00:00:00 +0000</pubDate><guid>https://elhadiq.github.io/blog/cnc-bitcoin/</guid><description>
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Avertissement.&lt;/strong&gt; Il s&amp;rsquo;agit d&amp;rsquo;une &lt;strong&gt;proposition personnelle&lt;/strong&gt;, à but pédagogique — &lt;strong&gt;pas une épreuve officielle&lt;/strong&gt; du Concours National Commun (CNC) ni de l&amp;rsquo;Agrégation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="télécharger"&gt;Télécharger&lt;/h2&gt;
&lt;div class="text-left"&gt;
&lt;a
id="button-98b7898ee1fa634a81a2265bea119473"
href="cnc_bitcoin_enonce.pdf"
class="inline-flex items-center gap-2 font-medium no-underline transition-all duration-300 ease-out transform-gpu focus:outline-none focus:ring-4 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-zinc-900 disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none bg-gradient-to-br from-primary-500 to-primary-600 hover:from-primary-600 hover:to-primary-700 active:from-primary-700 active:to-primary-800 text-white shadow-lg shadow-primary-500/25 hover:shadow-xl hover:shadow-primary-500/30 hover:-translate-y-0.5 hover:scale-[1.02] active:scale-[0.98] focus:ring-primary-500/50 px-4 py-2 text-base rounded-lg"
role="button"
aria-label="Énoncé (PDF)"
&gt;
&lt;span class="flex-shrink-0"&gt;
&lt;svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m.75 12l3 3m0 0l3-3m-3 3v-6m-1.5-9H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;span&gt;Énoncé (PDF)&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Proposition d&amp;rsquo;épreuve d&amp;rsquo;informatique dans l&amp;rsquo;esprit du &lt;strong&gt;Concours National Commun (CNC), filière MP&lt;/strong&gt;, portant sur &lt;strong&gt;Bitcoin&lt;/strong&gt; et plus particulièrement sur l&amp;rsquo;arithmétique de l&amp;rsquo;émission monétaire (halving, offre totale, précision des calculs sur les montants en satoshis).&lt;/p&gt;
&lt;p&gt;Ce sujet et son corrigé ont été élaborés avec l&amp;rsquo;aide de &lt;strong&gt;L&amp;rsquo;AI&lt;/strong&gt;, puis relus et mis en forme en LaTeX.&lt;/p&gt;
&lt;h2 id="contenu-de-lépreuve"&gt;Contenu de l&amp;rsquo;épreuve&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Présentation et notations&lt;/li&gt;
&lt;li&gt;Partie I — Émission monétaire (arithmétique des montants)&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>