<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Benoit Gaumard - Articles</title>
    <link>https://benoit-gaumard.io/articles/</link>
    <atom:link href="https://benoit-gaumard.io/articles/rss.xml" rel="self" type="application/rss+xml"/>
    <description>Latest articles and how-to guides by Benoit Gaumard.</description>
    <language>en-us</language>
    <lastBuildDate>Thu, 08 Oct 2026 08:33:45 GMT</lastBuildDate>
    <item>
      <title>Azure Policy, Part 1: What Is an Azure Policy?</title>
      <link>https://benoit-gaumard.io/articles/azure-policy-part-1-what-is-a-policy/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/azure-policy-part-1-what-is-a-policy/</guid>
      <description>Part 1 of a seven-part series on Azure Policy: what a policy definition actually is, how the if/then rule works, aliases, the full list of effects and the order they run in, modes, versioning, and the limits that bite in production.</description>
      <author>Benoit G</author>
      <pubDate>Fri, 04 Sep 2026 12:00:00 GMT</pubDate>
      <category>Featured</category>
      <category>Azure</category>
      <category>Governance</category>
      <category>Azure Policy</category>
    </item>
    <item>
      <title>Azure Policy, Part 2: What Is an Initiative (Policy Set)?</title>
      <link>https://benoit-gaumard.io/articles/azure-policy-part-2-initiatives/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/azure-policy-part-2-initiatives/</guid>
      <description>Part 2 of the Azure Policy series: policy set definitions explained - grouping definitions, policyDefinitionReferenceId, passing parameters down, definition groups and regulatory compliance, version pinning, and the initiative parameter you can never change.</description>
      <author>Benoit G</author>
      <pubDate>Fri, 04 Sep 2026 12:00:00 GMT</pubDate>
      <category>Azure</category>
      <category>Governance</category>
      <category>Azure Policy</category>
    </item>
    <item>
      <title>Azure Policy, Part 3: What Is a Policy Assignment?</title>
      <link>https://benoit-gaumard.io/articles/azure-policy-part-3-assignments/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/azure-policy-part-3-assignments/</guid>
      <description>Part 3 of the Azure Policy series: assignments are where governance becomes real. Scope and inheritance, enforcementMode, managed identities and remediation permissions, resourceSelectors and overrides for safe rollout, and non-compliance messages.</description>
      <author>Benoit G</author>
      <pubDate>Fri, 04 Sep 2026 12:00:00 GMT</pubDate>
      <category>Azure</category>
      <category>Governance</category>
      <category>Azure Policy</category>
    </item>
    <item>
      <title>Azure Policy, Part 4: What Is an Exclusion (notScopes)?</title>
      <link>https://benoit-gaumard.io/articles/azure-policy-part-4-exclusions-notscopes/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/azure-policy-part-4-exclusions-notscopes/</guid>
      <description>Part 4 of the Azure Policy series: exclusions explained. How notScopes carves a hole in an assignment scope, why excluded resources vanish from compliance entirely, the governance debt it creates, and when an exclusion is genuinely the right answer.</description>
      <author>Benoit G</author>
      <pubDate>Fri, 04 Sep 2026 12:00:00 GMT</pubDate>
      <category>Azure</category>
      <category>Governance</category>
      <category>Azure Policy</category>
    </item>
    <item>
      <title>Azure Policy, Part 5: What Is a Policy Exemption?</title>
      <link>https://benoit-gaumard.io/articles/azure-policy-part-5-exemptions/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/azure-policy-part-5-exemptions/</guid>
      <description>Part 5 of the Azure Policy series: exemptions explained. Waiver versus Mitigated, expiresOn, exempting a single initiative member, identity-based exemptions, compliance substate, the RBAC you need, and how to stop exemptions becoming permanent.</description>
      <author>Benoit G</author>
      <pubDate>Fri, 04 Sep 2026 12:00:00 GMT</pubDate>
      <category>Azure</category>
      <category>Governance</category>
      <category>Azure Policy</category>
    </item>
    <item>
      <title>Azure Policy, Part 6: Azure Policy as Code</title>
      <link>https://benoit-gaumard.io/articles/azure-policy-part-6-policy-as-code/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/azure-policy-part-6-policy-as-code/</guid>
      <description>Part 6 of the Azure Policy series: why the portal stops working at scale, Microsoft's create-test-deploy workflow, the deployment ordering problem, drift and desired state, the managed identity permission gap, and what to put in your repository.</description>
      <author>Benoit G</author>
      <pubDate>Fri, 04 Sep 2026 12:00:00 GMT</pubDate>
      <category>Azure</category>
      <category>Governance</category>
      <category>Azure Policy</category>
    </item>
    <item>
      <title>Azure Policy, Part 7: EPAC and the Alternatives</title>
      <link>https://benoit-gaumard.io/articles/azure-policy-part-7-epac/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/azure-policy-part-7-epac/</guid>
      <description>Part 7 of the Azure Policy series: Enterprise Azure Policy as Code (EPAC) explained end to end - folder structure, global-settings.jsonc, pacEnvironments, desired state strategies, the three-stage pipeline, ALZ integration - plus an honest comparison with ALZ, Terraform, AzOps and doing nothing.</description>
      <author>Benoit G</author>
      <pubDate>Fri, 04 Sep 2026 12:00:00 GMT</pubDate>
      <category>Featured</category>
      <category>Azure</category>
      <category>Governance</category>
      <category>Azure Policy</category>
    </item>
    <item>
      <title>Azure Lighthouse: Choose a Cross-Tenant Management Pattern</title>
      <link>https://benoit-gaumard.io/articles/azure-lighthouse-cross-tenant-management/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/azure-lighthouse-cross-tenant-management/</guid>
      <description>Choose between application maintenance, multi-tenant operations and ISV delegation, then review Lighthouse scope, role limitations, rollout and revocation.</description>
      <author>Benoit G</author>
      <pubDate>Thu, 03 Sep 2026 12:00:00 GMT</pubDate>
      <category>Featured</category>
      <category>Azure</category>
      <category>Governance</category>
    </item>
    <item>
      <title>DNS in Azure, Part 3: Azure DNS Private Resolver</title>
      <link>https://benoit-gaumard.io/articles/dns-in-azure-part-3-private-resolver/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/dns-in-azure-part-3-private-resolver/</guid>
      <description>Part 3 of the DNS in Azure series: inbound and outbound endpoints, forwarding rulesets, the query evaluation order, the centralized and distributed architectures, and how to log DNS queries without running your own servers.</description>
      <author>Benoit G</author>
      <pubDate>Thu, 03 Sep 2026 12:00:00 GMT</pubDate>
      <category>Featured</category>
      <category>Azure</category>
      <category>DNS</category>
    </item>
    <item>
      <title>DNS in Azure, Part 4: Private Link and Private Endpoints</title>
      <link>https://benoit-gaumard.io/articles/dns-in-azure-part-4-private-endpoints/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/dns-in-azure-part-4-private-endpoints/</guid>
      <description>Part 4 of the DNS in Azure series: what a Private Endpoint really is, sub-resources, the approval workflow, routing and NSG behaviour, Private Link Service, and why turning off public network access is a separate job.</description>
      <author>Benoit G</author>
      <pubDate>Thu, 03 Sep 2026 12:00:00 GMT</pubDate>
      <category>Featured</category>
      <category>Azure</category>
      <category>DNS</category>
    </item>
    <item>
      <title>DNS in Azure, Part 5: Private Endpoints and Private DNS</title>
      <link>https://benoit-gaumard.io/articles/dns-in-azure-part-5-private-endpoint-dns/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/dns-in-azure-part-5-private-endpoint-dns/</guid>
      <description>Part 5 of the DNS in Azure series: the privatelink CNAME chain, the exact zone name for every service, private DNS zone groups, running zones at scale with Azure Policy, and making Private Endpoints resolve from on-premises.</description>
      <author>Benoit G</author>
      <pubDate>Thu, 03 Sep 2026 12:00:00 GMT</pubDate>
      <category>Featured</category>
      <category>Azure</category>
      <category>DNS</category>
    </item>
    <item>
      <title>DNS in Azure, Part 6: Private DNS Fallback to Internet</title>
      <link>https://benoit-gaumard.io/articles/dns-in-azure-part-6-private-dns-fallback/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/dns-in-azure-part-6-private-dns-fallback/</guid>
      <description>Part 6 of the DNS in Azure series: why a privatelink zone returns NXDOMAIN for names you do not own, how the NxDomainRedirect resolution policy fixes cross-tenant Private Link, and when you should deliberately leave it off.</description>
      <author>Benoit G</author>
      <pubDate>Thu, 03 Sep 2026 12:00:00 GMT</pubDate>
      <category>Featured</category>
      <category>Azure</category>
      <category>DNS</category>
    </item>
    <item>
      <title>DNS in Azure, Part 7: DNS Security Policies</title>
      <link>https://benoit-gaumard.io/articles/dns-in-azure-part-7-dns-security-policies/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/dns-in-azure-part-7-dns-security-policies/</guid>
      <description>Part 7 of the DNS in Azure series: DNS resolver policies, traffic rules and domain lists, the Microsoft threat intelligence feed, full query logging in Log Analytics, and a rollout plan that will not take your platform down.</description>
      <author>Benoit G</author>
      <pubDate>Thu, 03 Sep 2026 12:00:00 GMT</pubDate>
      <category>Featured</category>
      <category>Azure</category>
      <category>DNS</category>
      <category>Security</category>
    </item>
    <item>
      <title>DNS in Azure, Part 8: The Resolution Decision Tree</title>
      <link>https://benoit-gaumard.io/articles/dns-in-azure-part-8-decision-tree/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/dns-in-azure-part-8-decision-tree/</guid>
      <description>Part 8 of the DNS in Azure series: an interactive decision tree that takes you from a client asking for a name to the exact Azure architecture that answers it - Azure DNS, private zones, privatelink, forwarding rulesets, or on-premises.</description>
      <author>Benoit G</author>
      <pubDate>Thu, 03 Sep 2026 12:00:00 GMT</pubDate>
      <category>Featured</category>
      <category>Azure</category>
      <category>DNS</category>
    </item>
    <item>
      <title>DNS in Azure, Part 2: Private DNS Zones</title>
      <link>https://benoit-gaumard.io/articles/dns-in-azure-part-2-private-dns-zones/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/dns-in-azure-part-2-private-dns-zones/</guid>
      <description>Part 2 of the DNS in Azure series: how private DNS zones and virtual network links really work, what autoregistration does to your records, the privatelink zones behind Private Endpoints, and how to design zones you will not regret.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 02 Sep 2026 12:00:00 GMT</pubDate>
      <category>Featured</category>
      <category>Azure</category>
      <category>DNS</category>
    </item>
    <item>
      <title>DNS in Azure, Part 1: Fundamentals and Azure-Provided Name Resolution</title>
      <link>https://benoit-gaumard.io/articles/dns-in-azure-part-1-fundamentals/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/dns-in-azure-part-1-fundamentals/</guid>
      <description>Part 1 of an eight-part series on private DNS in Azure: the vocabulary, the 168.63.129.16 platform IP, where a VM actually gets its resolver from, and why the default internal.cloudapp.net namespace runs out of road.</description>
      <author>Benoit G</author>
      <pubDate>Tue, 01 Sep 2026 12:00:00 GMT</pubDate>
      <category>Featured</category>
      <category>Azure</category>
      <category>DNS</category>
    </item>
    <item>
      <title>Contributing an Article to This Site</title>
      <link>https://benoit-gaumard.io/articles/how-to-creat-a-new-article/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/how-to-creat-a-new-article/</guid>
      <description>Everything you can use when writing a new article for /articles: frontmatter fields, headings, lists, callouts, code blocks, tables, images, and links.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 19 Aug 2026 12:00:00 GMT</pubDate>
      <category>Documentation</category>
    </item>
    <item>
      <title>Connect GitHub and Azure for Deployment Using OIDC</title>
      <link>https://benoit-gaumard.io/articles/connect-github-and-azure-for-deployment-using-oidc/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/connect-github-and-azure-for-deployment-using-oidc/</guid>
      <description>Stop storing long-lived Azure credentials in GitHub secrets. Set up OpenID Connect federation so GitHub Actions can authenticate to Azure with short-lived tokens.</description>
      <author>Benoit G</author>
      <pubDate>Fri, 14 Aug 2026 12:00:00 GMT</pubDate>
      <category>Azure</category>
      <category>GitHub</category>
    </item>
    <item>
      <title>What Is an Azure Landing Zone?</title>
      <link>https://benoit-gaumard.io/articles/what-is-an-azure-landing-zone/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/what-is-an-azure-landing-zone/</guid>
      <description>A practical introduction to Azure landing zones: what they are, why they matter, and the building blocks every platform team should know.</description>
      <author>Benoit G</author>
      <pubDate>Mon, 10 Aug 2026 12:00:00 GMT</pubDate>
      <category>Azure</category>
      <category>Governance</category>
    </item>
    <item>
      <title>Native RDP Through Azure Bastion</title>
      <link>https://benoit-gaumard.io/articles/connect-azure-vm-using-native-rdp-client-through-bastion/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/connect-azure-vm-using-native-rdp-client-through-bastion/</guid>
      <description>Step-by-step guide to connecting to an Azure VM with your native RDP client through Azure Bastion's native client support, including how to open the tunnel with the Azure CLI.</description>
      <author>Benoit G</author>
      <pubDate>Fri, 06 Mar 2026 12:00:00 GMT</pubDate>
      <category>Azure</category>
      <category>Bastion</category>
    </item>
    <item>
      <title>How to Delegate a Domain to Azure DNS</title>
      <link>https://benoit-gaumard.io/articles/how-to-delegate-a-domain-to-azure-dns/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/how-to-delegate-a-domain-to-azure-dns/</guid>
      <description>Prepare an Azure public DNS zone and its records before changing registrar name servers, using OVH as the example, then verify delegation and plan rollback.</description>
      <author>Benoit G</author>
      <pubDate>Tue, 16 Dec 2025 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>Display Latest Commits with Git Graph</title>
      <link>https://benoit-gaumard.io/articles/display-latest-commits-with-git-graph/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/display-latest-commits-with-git-graph/</guid>
      <description>A stylish one-liner to showcase the latest commits from a repository directly in the terminal.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 26 Feb 2025 12:00:00 GMT</pubDate>
      <category>Git</category>
    </item>
    <item>
      <title>GitHub Contribution Workflow</title>
      <link>https://benoit-gaumard.io/articles/github-contribution-workflow/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/github-contribution-workflow/</guid>
      <description>The end-to-end workflow for contributing to a GitHub project: fork, branch, commit, push, pull request, code review, and merge.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 26 Feb 2025 12:00:00 GMT</pubDate>
      <category>GitHub</category>
    </item>
    <item>
      <title>Connect PHP App Service to Azure SQL Without a Password</title>
      <link>https://benoit-gaumard.io/articles/app-service-php-access-to-azure-sql-database-with-managed-identity/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/app-service-php-access-to-azure-sql-database-with-managed-identity/</guid>
      <description>Connect a PHP app running on Azure App Service to Azure SQL Database using a system-assigned managed identity, with no stored username or password.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 12 Feb 2025 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>Allow ICMP (Ping) on an Azure VM</title>
      <link>https://benoit-gaumard.io/articles/allow-icmp-ping-on-an-azure-vm/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/allow-icmp-ping-on-an-azure-vm/</guid>
      <description>Allow an ICMPv4 echo request in a Windows VM's guest firewall, then separately verify the Azure network path and test the response.</description>
      <author>Benoit G</author>
      <pubDate>Fri, 31 Jan 2025 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>Network Security Perimeter (NSP)</title>
      <link>https://benoit-gaumard.io/articles/network-security-perimeter/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/network-security-perimeter/</guid>
      <description>Compare controls for PaaS public access and private connectivity, understand Network Security Perimeter objects, and prepare a scoped validation plan.</description>
      <author>Benoit G</author>
      <pubDate>Fri, 31 Jan 2025 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>Restrict Web App Access with Entra ID Authentication</title>
      <link>https://benoit-gaumard.io/articles/restrict-web-app-access-with-entra-id-authentication/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/restrict-web-app-access-with-entra-id-authentication/</guid>
      <description>How to restrict access to an Azure Web App to specific users or security groups using Microsoft Entra ID, instead of allowing every user in the tenant.</description>
      <author>Benoit G</author>
      <pubDate>Tue, 17 Dec 2024 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>Terraform vs Bicep: Choose by Team and Workload</title>
      <link>https://benoit-gaumard.io/articles/terraform-vs-bicep-the-match/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/terraform-vs-bicep-the-match/</guid>
      <description>Compare Terraform and Bicep by scope, state, review workflow and operating cost, then choose a fit for your team instead of a universal winner.</description>
      <author>Benoit G</author>
      <pubDate>Fri, 06 Dec 2024 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>Debug GitHub Actions Secret Configuration Without Revealing Values</title>
      <link>https://benoit-gaumard.io/articles/display-github-secrets-for-debug/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/display-github-secrets-for-debug/</guid>
      <description>Check whether a GitHub Actions secret is available without printing it, review repository and environment scope, and use OIDC for Azure instead of long-lived credentials.</description>
      <author>Benoit G</author>
      <pubDate>Mon, 02 Dec 2024 12:00:00 GMT</pubDate>
      <category>GitHub</category>
    </item>
    <item>
      <title>Review Expired Azure Resources by TTL Tags Before Cleanup</title>
      <link>https://benoit-gaumard.io/articles/remove-old-azure-resources-based-on-tags/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/remove-old-azure-resources-based-on-tags/</guid>
      <description>Build a scoped, read-only TTL inventory before approving resource deletion, and separately investigate creator attribution without treating the last writer as the creator.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 13 Nov 2024 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>Search Azure Policy Aliases and Send Output to an Interactive Table</title>
      <link>https://benoit-gaumard.io/articles/search-azure-policy-aliases/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/search-azure-policy-aliases/</guid>
      <description>A PowerShell script that lets you interactively search Azure Policy aliases by namespace using Out-GridView.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 13 Nov 2024 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>Azure REST APIs, Versions, and Lifecycle</title>
      <link>https://benoit-gaumard.io/articles/azure-rest-apis-versions-and-lifecycle/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/azure-rest-apis-versions-and-lifecycle/</guid>
      <description>How Azure REST API versions work, how to find them with PowerShell, and why the api-version parameter matters.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 06 Nov 2024 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>Call Azure API with PowerShell</title>
      <link>https://benoit-gaumard.io/articles/call-azure-api-with-powershell/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/call-azure-api-with-powershell/</guid>
      <description>Make a read-only Azure Resource Manager GET for a storage account using Azure PowerShell, with explicit context, replaceable parameters and response checks.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 06 Nov 2024 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>Review RBAC Assignments with 'Identity Not Found'</title>
      <link>https://benoit-gaumard.io/articles/clean-rbac-identity-not-found/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/clean-rbac-identity-not-found/</guid>
      <description>Inventory unresolved Azure RBAC principals at an explicit scope, verify deletion independently, and preview removal before approving a change.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 06 Nov 2024 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>Don't Build Your Cloud Home on Shaky Foundations</title>
      <link>https://benoit-gaumard.io/articles/dont-build-your-cloud-home-on-shaky-foundations/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/dont-build-your-cloud-home-on-shaky-foundations/</guid>
      <description>A grouped Azure foundations checklist: decide ownership first, then governance, platform connectivity and ongoing operations before onboarding workloads.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 06 Nov 2024 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>KQL Query Library for Azure Resource Graph</title>
      <link>https://benoit-gaumard.io/articles/kql-query-collection/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/kql-query-collection/</guid>
      <description>A growing collection of Kusto Query Language (KQL) queries for Azure Resource Graph, covering AKS, disks, networking, policies, RBAC, subscriptions, and tags.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 06 Nov 2024 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>Azure Subscription Switcher</title>
      <link>https://benoit-gaumard.io/articles/azure-subscription-switcher/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/azure-subscription-switcher/</guid>
      <description>A PowerShell script to quickly switch between Azure subscriptions by index, with an optional Out-GridView interface.</description>
      <author>Benoit G</author>
      <pubDate>Tue, 05 Nov 2024 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>Edit and Version Draw.io Diagrams in VS Code</title>
      <link>https://benoit-gaumard.io/articles/draw-io-vscode-extension-a-must-have-for-your-diagrams/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/draw-io-vscode-extension-a-must-have-for-your-diagrams/</guid>
      <description>Install the unofficial Draw.io integration, choose an editable file format and create your first diagram alongside source code in desktop VS Code.</description>
      <author>Benoit G</author>
      <pubDate>Tue, 05 Nov 2024 12:00:00 GMT</pubDate>
      <category>Tools</category>
    </item>
    <item>
      <title>Cyber Attacks Live Maps</title>
      <link>https://benoit-gaumard.io/articles/cyber-attacks-live-maps/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/cyber-attacks-live-maps/</guid>
      <description>A directory of vendor threat visualisations, with their different scopes and limits: useful for exploration, not an exhaustive map of attacks or attribution.</description>
      <author>Benoit G</author>
      <pubDate>Sun, 03 Nov 2024 12:00:00 GMT</pubDate>
      <category>Tools</category>
    </item>
    <item>
      <title>Host a Hugo Site on GitHub Pages with Actions</title>
      <link>https://benoit-gaumard.io/articles/how-to-host-your-hugo-website-on-github-pages/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/how-to-host-your-hugo-website-on-github-pages/</guid>
      <description>Prepare a Hugo source repository, select GitHub Actions as the Pages source, build a pinned Hugo version and verify the deployed site.</description>
      <author>Benoit G</author>
      <pubDate>Sun, 03 Nov 2024 12:00:00 GMT</pubDate>
      <category>Hugo</category>
    </item>
    <item>
      <title>From WordPress to Hugo: Choosing a Publishing Workflow</title>
      <link>https://benoit-gaumard.io/articles/from-wordpress-to-hugo/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/from-wordpress-to-hugo/</guid>
      <description>A decision-focused comparison of WordPress and Hugo: editing workflow, dynamic features, hosting and maintenance trade-offs, without unrecorded migration claims.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 16 Oct 2024 12:00:00 GMT</pubDate>
      <category>Hugo</category>
    </item>
    <item>
      <title>Publish a Versioned GitHub Script Snapshot in an Article</title>
      <link>https://benoit-gaumard.io/articles/how-to-embed-a-github-script-in-an-article/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/how-to-embed-a-github-script-in-an-article/</guid>
      <description>Distinguish a source link from build-time inclusion and browser fetching, and publish a readable static script snapshot with honest provenance.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 16 Oct 2024 12:00:00 GMT</pubDate>
      <category>GitHub</category>
    </item>
    <item>
      <title>Terraform and Entra ID Authentication</title>
      <link>https://benoit-gaumard.io/articles/azure-terraform-entra-id-authentication/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/azure-terraform-entra-id-authentication/</guid>
      <description>How to disable storage account key-based authentication and use Entra ID authentication for the Terraform azurerm remote backend.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 11 Sep 2024 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>Optimize and Reduce Costs in Azure</title>
      <link>https://benoit-gaumard.io/articles/optimize-and-reduce-costs-in-azure/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/optimize-and-reduce-costs-in-azure/</guid>
      <description>Prioritise Azure cost work by effort, reversibility and commitment: establish a baseline, review usage, improve governance, then evaluate financial commitments.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 11 Sep 2024 12:00:00 GMT</pubDate>
      <category>Azure</category>
    </item>
    <item>
      <title>Set Up Your First Terraform Environment on Windows</title>
      <link>https://benoit-gaumard.io/articles/set-up-your-first-terraform-environment-on-windows/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/set-up-your-first-terraform-environment-on-windows/</guid>
      <description>Step-by-step guide to setting up your first Terraform environment on Windows: install the CLI, configure a remote state backend in Azure Storage, and run your first plan and apply.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 11 Sep 2024 12:00:00 GMT</pubDate>
      <category>Azure</category>
      <category>Tools</category>
    </item>
    <item>
      <title>Git Basics: A Task-Based Command Cheat Sheet</title>
      <link>https://benoit-gaumard.io/articles/git-basics/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/git-basics/</guid>
      <description>Find Git commands by task: setup, cloning, the daily change cycle, synchronisation, branches and diagnosis. Each example explains its effect.</description>
      <author>Benoit G</author>
      <pubDate>Wed, 28 Feb 2024 12:00:00 GMT</pubDate>
      <category>Git</category>
    </item>
    <item>
      <title>GitHub Branch Naming Convention</title>
      <link>https://benoit-gaumard.io/articles/github-branch-naming-convention/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/github-branch-naming-convention/</guid>
      <description>A suggested team convention, not a GitHub requirement: readable branch names with a purpose, ticket identifier and short description.</description>
      <author>Benoit G</author>
      <pubDate>Mon, 26 Feb 2024 12:00:00 GMT</pubDate>
      <category>GitHub</category>
    </item>
    <item>
      <title>GitHub Commit Naming Convention</title>
      <link>https://benoit-gaumard.io/articles/github-commit-naming-convention/</link>
      <guid isPermaLink="true">https://benoit-gaumard.io/articles/github-commit-naming-convention/</guid>
      <description>A practical commit message convention for GitHub projects, based on Conventional Commits: format, common types, and writing clear messages.</description>
      <author>Benoit G</author>
      <pubDate>Mon, 26 Feb 2024 12:00:00 GMT</pubDate>
      <category>GitHub</category>
    </item>
  </channel>
</rss>
