<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Api on Le Site de François</title><link>https://lesitedefrancois.be/en/tags/api/</link><description>Recent content in Api on Le Site de François</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 François</copyright><atom:link href="https://lesitedefrancois.be/en/tags/api/index.xml" rel="self" type="application/rss+xml"/><item><title>libvirt</title><link>https://lesitedefrancois.be/en/security/libvirt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/libvirt/</guid><description>&lt;p&gt;&lt;strong&gt;libvirt&lt;/strong&gt; is an open-source library, daemon, and toolset that provides a unified, stable API for managing virtualisation infrastructure — virtual machines, storage volumes, virtual networks, and host devices — across multiple hypervisor backends. It was originally written by Daniel Berrange at Red Hat and has since become the standard virtualisation management layer on Linux, underpinning &lt;strong&gt;KubeVirt&lt;/strong&gt;, OpenStack Nova, oVirt/RHEV, Proxmox, and the &lt;code&gt;virsh&lt;/code&gt; / &lt;code&gt;virt-manager&lt;/code&gt; administrative tools. The core value proposition is &lt;strong&gt;hypervisor abstraction&lt;/strong&gt;: the same &lt;code&gt;libvirt&lt;/code&gt; API call creates a VM on KVM/QEMU, Xen, LXC, or (historically) VMware ESXi, without the management layer caring about the underlying implementation. In practice, the KVM/QEMU driver is the dominant use case on Linux; the others are progressively less-maintained but remain supported. libvirt communicates with hypervisors through driver-specific mechanisms — with QEMU, it generates the full QEMU command line from the domain XML definition and manages the QEMU process lifecycle, communicating with the running VM through the QEMU Monitor Protocol (QMP) over a Unix socket.&lt;/p&gt;</description></item><item><title>MCP (Model Context Protocol)</title><link>https://lesitedefrancois.be/en/ai/mcp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/ai/mcp/</guid><description>&lt;p&gt;&lt;strong&gt;MCP (Model Context Protocol)&lt;/strong&gt; is an open standard for how &lt;strong&gt;LLM applications&lt;/strong&gt; discover and invoke &lt;strong&gt;tools&lt;/strong&gt;, read structured &lt;strong&gt;resources&lt;/strong&gt;, and exchange &lt;strong&gt;prompts&lt;/strong&gt; with external systems through MCP &lt;strong&gt;servers&lt;/strong&gt; and &lt;strong&gt;clients&lt;/strong&gt;. The objective is interchangeable integrations: instead of every chat product implementing bespoke plugins for Git, databases, or ticketing, a tool provider ships an MCP server and any compatible client (IDE, assistant, agent runtime) can use it with consistent auth and capability negotiation. MCP complements HTTP &lt;strong&gt;inference&lt;/strong&gt; APIs—it sits at the orchestration layer where the model decides which tool to call, not inside &lt;strong&gt;vLLM&lt;/strong&gt;’s token loop. It is widely associated with &lt;strong&gt;agentic&lt;/strong&gt; workflows (multi-step plans, code execution, retrieval).&lt;/p&gt;</description></item><item><title>OAuth 2.0</title><link>https://lesitedefrancois.be/en/security/oauth2/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/oauth2/</guid><description>&lt;p&gt;&lt;strong&gt;OAuth 2.0&lt;/strong&gt; (RFC 6749, 2012) is an authorisation delegation framework — not an authentication protocol — that solves a specific problem: how does a user grant a third-party application access to their resources on a server, without giving that application their password? The canonical example is a user granting a calendar app access to their Google Drive files: OAuth 2.0 lets Google issue the calendar app a scoped, time-limited &lt;strong&gt;access token&lt;/strong&gt; that permits it to read Drive files, without the app ever seeing the user&amp;rsquo;s Google password. The distinction between authorisation and authentication is fundamental: OAuth 2.0 proves that a token was issued by an authorisation server for a specific scope — it says nothing about who the user is. Attempting to use OAuth 2.0 for authentication (treating token possession as proof of identity) is a well-documented anti-pattern with concrete exploits; &lt;strong&gt;OIDC&lt;/strong&gt; (OpenID Connect) is the authentication layer built on top of OAuth 2.0 that addresses this correctly.&lt;/p&gt;</description></item></channel></rss>