<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
  <title>Le journal de développement avanserv</title>
  <subtitle>Des comptes rendus datés de ce que j&apos;ai construit pour avanserv et pourquoi, de l&apos;infrastructure au site que vous lisez.</subtitle>
  <id>https://avanserv.com/fr/build-log</id>
  <link rel="self" type="application/atom+xml" href="https://avanserv.com/fr/build-log/feed.xml" />
  <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log" />
  <updated>2026-09-26T00:00:00Z</updated>
  <author><name>Antoine Van Serveyt</name></author>
  <entry>
    <title>Garder la page immobile quand la police de la marque se charge</title>
    <id>https://avanserv.com/fr/build-log/holding-the-page-still</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/holding-the-page-still" />
    <published>2026-09-26T00:00:00Z</published>
    <updated>2026-09-26T00:00:00Z</updated>
    <summary>Ajuster les polices de secours pour que le texte ne saute plus à l&apos;arrivée de la police de la marque, et les trois angles morts de la mesure.</summary>
  </entry>
  <entry>
    <title>Une carte de visite à scanner et à enregistrer</title>
    <id>https://avanserv.com/fr/build-log/a-business-card-a-phone-can-save</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/a-business-card-a-phone-can-save" />
    <published>2026-09-23T00:00:00Z</published>
    <updated>2026-09-23T00:00:00Z</updated>
    <summary>Un QR code imprimé qui ouvre une carte et enregistre le contact, et ce qu&apos;un Pixel m&apos;a appris sur les photos vCard et Chrome sur Android.</summary>
  </entry>
  <entry>
    <title>Publier les documents juridiques comme pages du site</title>
    <id>https://avanserv.com/fr/build-log/legal-documents-as-pages</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/legal-documents-as-pages" />
    <published>2026-09-22T00:00:00Z</published>
    <updated>2026-09-22T00:00:00Z</updated>
    <summary>Les contrats et politiques quittent le repo pour devenir des pages du site, avec un PDF archivé, un lien par clause et le security.txt promis.</summary>
  </entry>
  <entry>
    <title>D&apos;un cluster nu à un environnement de staging réconcilié depuis git</title>
    <id>https://avanserv.com/fr/build-log/staging-from-git</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/staging-from-git" />
    <published>2026-09-19T00:00:00Z</published>
    <updated>2026-09-19T00:00:00Z</updated>
    <summary>Comment un cluster Talos nu est devenu un staging qu&apos;Argo CD réconcilie depuis git, avec ses secrets, ses certificats et ses deux origines web.</summary>
  </entry>
  <entry>
    <title>Mettre un environnement en veille, et le relancer sans intervention</title>
    <id>https://avanserv.com/fr/build-log/parking-an-environment</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/parking-an-environment" />
    <published>2026-09-16T00:00:00Z</published>
    <updated>2026-09-16T00:00:00Z</updated>
    <summary>Ramener le staging à ce qu&apos;une reconstruction réutilise en 87 secondes, puis le relancer seul en onze minutes environ, chaque plan lu par un garde-fou.</summary>
  </entry>
  <entry>
    <title>Monter un parc Kubernetes autohébergé sur Talos et Scaleway</title>
    <id>https://avanserv.com/fr/build-log/talos-on-scaleway</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/talos-on-scaleway" />
    <published>2026-09-10T00:00:00Z</published>
    <updated>2026-09-10T00:00:00Z</updated>
    <summary>Pourquoi la plateforme fait tourner son propre control plane Kubernetes sur Talos et Scaleway, et les pièges du premier cluster monté depuis OpenTofu.</summary>
  </entry>
  <entry>
    <title>Le contrôle avant pull request qui tient lieu d&apos;équipe</title>
    <id>https://avanserv.com/fr/build-log/the-pre-pr-gate</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/the-pre-pr-gate" />
    <published>2026-08-28T00:00:00Z</published>
    <updated>2026-08-28T00:00:00Z</updated>
    <summary>Sans second ingénieur pour relire un diff, chaque pull request passe des scanners, une revue par un modèle qui bloque sur la sécurité, et un reçu signé.</summary>
  </entry>
  <entry>
    <title>Servir le site en français sur ses propres chemins</title>
    <id>https://avanserv.com/fr/build-log/the-site-in-french</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/the-site-in-french" />
    <published>2026-08-22T00:00:00Z</published>
    <updated>2026-08-22T00:00:00Z</updated>
    <summary>Pourquoi le français vit sous /fr quand l&apos;anglais garde les chemins nus, et comment un choix de langue suit le visiteur du site jusqu&apos;à l&apos;application.</summary>
  </entry>
  <entry>
    <title>Séparer le frontend et prérendre le site public</title>
    <id>https://avanserv.com/fr/build-log/prerendering-the-public-site</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/prerendering-the-public-site" />
    <published>2026-08-19T00:00:00Z</published>
    <updated>2026-08-19T00:00:00Z</updated>
    <summary>Comment le site public est devenu un build prérendu à part, et comment une règle de lint entre lui et l&apos;application est devenue une frontière de paquets.</summary>
  </entry>
  <entry>
    <title>Amener le frontend au niveau WCAG 2.2 AA</title>
    <id>https://avanserv.com/fr/build-log/wcag-2-2-aa</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/wcag-2-2-aa" />
    <published>2026-08-06T00:00:00Z</published>
    <updated>2026-08-06T00:00:00Z</updated>
    <summary>Quatre contrôles qui possèdent chacun une classe de défauts d&apos;accessibilité, et ce qu&apos;ils ont trouvé en route vers le WCAG 2.2 AA.</summary>
  </entry>
  <entry>
    <title>Le passage à avanserv, sur un système de tokens monochrome</title>
    <id>https://avanserv.com/fr/build-log/the-rebrand</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/the-rebrand" />
    <published>2026-08-04T00:00:00Z</published>
    <updated>2026-08-04T00:00:00Z</updated>
    <summary>Comment le passage à avanserv a fait de chaque couleur un rôle sur une seule gamme, et pourquoi il a fallu corriger le test de contraste avant de s&apos;y fier.</summary>
  </entry>
  <entry>
    <title>Un SSO OIDC par organisation, avec une connexion qui commence par l&apos;e-mail</title>
    <id>https://avanserv.com/fr/build-log/per-organisation-sso</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/per-organisation-sso" />
    <published>2026-07-02T00:00:00Z</published>
    <updated>2026-07-02T00:00:00Z</updated>
    <summary>Passer par le fournisseur d&apos;identité de chaque organisation, via une connexion qui demande d&apos;abord l&apos;e-mail, quand ceux qui le configurent sont peu fiables.</summary>
  </entry>
  <entry>
    <title>L&apos;e-mail transactionnel comme sous-système</title>
    <id>https://avanserv.com/fr/build-log/transactional-email</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/transactional-email" />
    <published>2026-06-27T00:00:00Z</published>
    <updated>2026-06-27T00:00:00Z</updated>
    <summary>L&apos;e-mail construit une fois, comme un sous-système : une ligne d&apos;outbox dans la transaction de l&apos;appelant, du MJML sans Node et une vue d&apos;administration.</summary>
  </entry>
  <entry>
    <title>Le contrôle d&apos;accès en DSL déclaratif, puis les rôles et les capacités</title>
    <id>https://avanserv.com/fr/build-log/access-control-as-a-dsl</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/access-control-as-a-dsl" />
    <published>2026-02-11T00:00:00Z</published>
    <updated>2026-02-11T00:00:00Z</updated>
    <summary>Des règles d&apos;accès déclarées sur chaque modèle, compilées en filtre SQL et en contrôle unitaire, puis trois niveaux de droits devenus rôles et capacités.</summary>
  </entry>
  <entry>
    <title>Le multi-tenant dès le premier modèle</title>
    <id>https://avanserv.com/fr/build-log/multi-tenancy-from-the-first-model</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/multi-tenancy-from-the-first-model" />
    <published>2026-02-04T00:00:00Z</published>
    <updated>2026-02-04T00:00:00Z</updated>
    <summary>Comment l&apos;isolation des organisations est entrée dans le modèle de base dès la première semaine, où s&apos;arrête le filtre automatique, et ce qu&apos;il reste à faire.</summary>
  </entry>
  <entry>
    <title>Premier jour : un framework multi-tenant à partir d&apos;un repo vide</title>
    <id>https://avanserv.com/fr/build-log/day-one</id>
    <link rel="alternate" type="text/html" href="https://avanserv.com/fr/build-log/day-one" />
    <published>2026-02-01T00:00:00Z</published>
    <updated>2026-02-01T00:00:00Z</updated>
    <summary>La première soirée de la plateforme : un plan écrit, un outillage qui refusait le code bâclé, et le contexte de requête sur lequel reposerait le multi-tenant.</summary>
  </entry>
</feed>
