> ## Documentation Index
> Fetch the complete documentation index at: https://developer.upsun.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mickael Gaillard

> Articles written by Mickael Gaillard.

<div className="flex items-center gap-4 mb-8 not-prose">
  <img src="https://github.com/theosakamg.png?size=128" alt="Mickael Gaillard" className="w-16 h-16 rounded-full" />

  <div className="flex flex-wrap gap-3">
    <a href="https://github.com/theosakamg" target="_blank" rel="noopener noreferrer" className="inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full border border-gray-200 dark:border-white/10 text-sm text-gray-700 dark:text-gray-300 hover:border-primary dark:hover:border-primary-light transition-colors">GitHub</a>
  </div>
</div>

<div className="blog-card-grid">
  <a href="/posts/how-tos/meta-version-updater-introduction" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/how-tos/meta-version-updater-introduction/red-background.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/how-tos/meta-version-updater-introduction/red-background.webp" alt="Automating Runtime and Service Tracking with Meta Version Updater" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`how-tos` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        how-tos
                      </span>
                    )}

        <span className="text-xs text-subtle">Wednesday, April 1st 2026</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Automating Runtime and Service Tracking with Meta Version Updater</h3>
      <p className="blog-card-desc">Meta is Upsun’s shared reference layer for runtimes, services, regions, and extensions. Learn why we built it, how it works, and how it powers the next generation of Upsun documentation and tooling.</p>
    </div>
  </a>

  <a href="/posts/how-it-works/meta-reference-source-introduction" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/how-it-works/meta-reference-source-introduction/meta.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/how-it-works/meta-reference-source-introduction/meta.webp" alt="Centralising Upsun Technical References with Meta-Upsun" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`how-it-works` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        how-it-works
                      </span>
                    )}

        <span className="text-xs text-subtle">Wednesday, March 25th 2026</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Centralising Upsun Technical References with Meta-Upsun</h3>
      <p className="blog-card-desc">How Upsun centralised runtime, service, region, and PHP reference data into a single public API to improve consistency, automation, and documentation accuracy.</p>
    </div>
  </a>

  <a href="/posts/releases/upsun-node-sdk-announcement" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/upsun-node-sdk-announcement/upsun-sdk-node.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/upsun-node-sdk-announcement/upsun-sdk-node.webp" alt="Announcing the Official Upsun Node.js SDK" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Wednesday, February 25th 2026</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Announcing the Official Upsun Node.js SDK</h3>
      <p className="blog-card-desc">Discover how the Upsun Node SDK simplifies API access and speeds up integrations, with clear documentation and modern tooling.</p>
    </div>
  </a>

  <a href="/posts/how-tos/fastlycdn-pluginapp-activation" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/how-tos/fastlycdn-pluginapp-activation/hero-image.svg` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/how-tos/fastlycdn-pluginapp-activation/hero-image.svg" alt="Streamline Your CDN Management with Fastly CDN Plugin App [BETA]" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`how-tos` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        how-tos
                      </span>
                    )}

        <span className="text-xs text-subtle">Tuesday, October 7th 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Streamline Your CDN Management with Fastly CDN Plugin App \[BETA]</h3>
      <p className="blog-card-desc">Managing Content Delivery Network (CDN) configurations alongside your application deployments can be a complex task, often requiring developers to switch between multiple interfaces and tools. The Fastly CDN plugin app bridges this gap by bringing Fastly CDN management directly into your Upsun console, creating a seamless workflow for developers who want to manage their CDN configurations without leaving their primary development environment.</p>
    </div>
  </a>

  <a href="/posts/ai/upsun-mcp-announcement" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/ai/upsun-mcp-announcement/upsun-mcp-announcement.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/ai/upsun-mcp-announcement/upsun-mcp-announcement.webp" alt="Introducing the Upsun MCP server: bring Upsun into your LLMs" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`featured` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        featured
                      </span>
                    )}

        <span className="text-xs text-subtle">Monday, September 22nd 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Introducing the Upsun MCP server: bring Upsun into your LLMs</h3>
      <p className="blog-card-desc">Manage your Upsun infrastructure directly through AI assistants with our new Model Context Protocol server - now in beta at mcp.upsun.com</p>
    </div>
  </a>

  <a href="/posts/use-cases/n8n-saved-my-life" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/use-cases/n8n-saved-my-life/social-media.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/use-cases/n8n-saved-my-life/social-media.webp" alt="How n8n saved our Advocacy impact on Social Media!" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`featured` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        featured
                      </span>
                    )}

        <span className="text-xs text-subtle">Thursday, July 3rd 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">How n8n saved our Advocacy impact on Social Media!</h3>
      <p className="blog-card-desc">Learn how n8n workflows improve internal communication and amplify our Advocacy social media impact.</p>
    </div>
  </a>

  <a href="/posts/releases/vscode-extension" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/vscode-extension/visual-studio-code.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/vscode-extension/visual-studio-code.webp" alt="Supercharge your workflow with the Upsun VSCode Extension" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`featured` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        featured
                      </span>
                    )}

        <span className="text-xs text-subtle">Tuesday, May 6th 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Supercharge your workflow with the Upsun VSCode Extension</h3>
      <p className="blog-card-desc">If you're working on Upsun projects with VSCode, the **Upsun VSCode extension** is an essential tool to enhance your development experience. Learn more...</p>
    </div>
  </a>

  <a href="/posts/tutorials/deploying-clamav-service" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`https://www.clamav.net/assets/clamav-trademark.png` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="https://www.clamav.net/assets/clamav-trademark.png" alt="Deploy ClamAV on Upsun, on service mode." className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`featured` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        featured
                      </span>
                    )}

        <span className="text-xs text-subtle">Thursday, April 24th 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Deploy ClamAV on Upsun, on service mode.</h3>
      <p className="blog-card-desc">Learn how to deploy ClamAV service on Upsun. This tutorial covers ClamAV integration on service scan mode.</p>
    </div>
  </a>

  <a href="/posts/tutorials/deploying-clamav-onetime" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`https://www.clamav.net/assets/clamav-trademark.png` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="https://www.clamav.net/assets/clamav-trademark.png" alt="Deploy ClamAV on Upsun, on one-time scan" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`featured` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        featured
                      </span>
                    )}

        <span className="text-xs text-subtle">Friday, February 14th 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Deploy ClamAV on Upsun, on one-time scan</h3>
      <p className="blog-card-desc">Learn how to deploy ClamAV service on Upsun. This tutorial covers ClamAV integration on one-time scan mode.</p>
    </div>
  </a>
</div>
