<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>HTTP | Zouhair EL Hadiq</title><link>https://elhadiq.github.io/tags/http/</link><atom:link href="https://elhadiq.github.io/tags/http/index.xml" rel="self" type="application/rss+xml"/><description>HTTP</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sat, 01 Aug 2026 00:00:00 +0000</lastBuildDate><image><url>https://elhadiq.github.io/media/icon_hu_982c5d63a71b2961.png</url><title>HTTP</title><link>https://elhadiq.github.io/tags/http/</link></image><item><title>🌐 CNC Informatique MP — Voyage d'un paquet : TCP/IP et HTTP/HTTPS</title><link>https://elhadiq.github.io/blog/cnc-tcpip-http-https/</link><pubDate>Sat, 01 Aug 2026 00:00:00 +0000</pubDate><guid>https://elhadiq.github.io/blog/cnc-tcpip-http-https/</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-6fa5fca36da3c5a9792bd23c0d72fdeb"
href="tcpip_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; (4 heures, 60 questions), intitulée &lt;em&gt;« Voyage d&amp;rsquo;un paquet : de l&amp;rsquo;adresse IP au cadenas du navigateur »&lt;/em&gt;. Le sujet suit, de bout en bout et sans prérequis réseau, les mécanismes qui se déclenchent lorsqu&amp;rsquo;un navigateur affiche une page : adressage CIDR, somme de contrôle, routage, fiabilité et congestion TCP, HTTP et établissement du secret HTTPS.&lt;/p&gt;
&lt;p&gt;Le corrigé a été entièrement exécuté et vérifié : chaque fonction Python a été confrontée à une implémentation naïve de référence sur plusieurs milliers de jeux d&amp;rsquo;essai aléatoires, et les requêtes SQL ont été exécutées sur une base réelle. Sujet et corrigé rédigés en LaTeX avec l&amp;rsquo;aide de &lt;strong&gt;L&amp;rsquo;AI&lt;/strong&gt; .&lt;/p&gt;
&lt;h2 id="plan-de-lépreuve"&gt;Plan de l&amp;rsquo;épreuve&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Partie I — Adressage IPv4 et agrégation CIDR&lt;/strong&gt;
Préfixes CIDR, masques, adresse de réseau et de diffusion, agrégation de préfixes adjacents, famille laminaire des préfixes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Partie II — La somme de contrôle Internet&lt;/strong&gt;
Addition en complément à un, indépendance de l&amp;rsquo;ordre des octets, détection d&amp;rsquo;erreurs, mise à jour incrémentale (RFC 1141 vs RFC 1624).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Partie III — Routage : plus long préfixe et plus courts chemins&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;III.1 — Recherche du plus long préfixe correspondant (parcours exhaustif puis trie binaire)&lt;/li&gt;
&lt;li&gt;III.2 — Plus courts chemins dans le graphe du réseau (Dijkstra, Bellman-Ford, comptage à l&amp;rsquo;infini de RIP)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Partie IV — TCP : fiabilité, temporisateur et congestion&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IV.1 — Numéros de séquence circulaires&lt;/li&gt;
&lt;li&gt;IV.2 — Réassemblage des segments&lt;/li&gt;
&lt;li&gt;IV.3 — Estimation du temporisateur de retransmission (Jacobson-Karels, algorithme de Karn)&lt;/li&gt;
&lt;li&gt;IV.4 — Contrôle de congestion : AIMD et formule de Mathis&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Partie V — HTTP, cache et HTTPS&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;V.1 — Analyse d&amp;rsquo;une requête HTTP (automate fini pour détecter la fin d&amp;rsquo;en-tête)&lt;/li&gt;
&lt;li&gt;V.2 — Cache LRU&lt;/li&gt;
&lt;li&gt;V.3 — Choix optimal du contenu d&amp;rsquo;un cache (programmation dynamique, sac à dos)&lt;/li&gt;
&lt;li&gt;V.4 — Analyse des journaux du serveur (SQL)&lt;/li&gt;
&lt;li&gt;V.5 — HTTPS : établissement du secret partagé par Diffie-Hellman, logarithme discret&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>