<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://qraft.tech/</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en" />
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://qraft.tech/cowork</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/cowork" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/cowork" />
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://qraft.tech/realisations/episto</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/episto" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/episto" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/realisations/hellio</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/hellio" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/hellio" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/realisations/cevidentia</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/cevidentia" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/cevidentia" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/realisations/easiware</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/easiware" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/easiware" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/realisations/embarq</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/embarq" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/embarq" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/realisations/billi</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/billi" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/billi" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/realisations/sante</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/sante" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/sante" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/realisations/bruno</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/bruno" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/bruno" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/realisations/chloe</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/chloe" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/chloe" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/blog</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog" />
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://qraft.tech/blog/nouveau-site-ce-qu-on-fait-chez-qraft-aujourd-hui</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/nouveau-site-ce-qu-on-fait-chez-qraft-aujourd-hui" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/new-site-what-we-do-at-qraft-today" />
<lastmod>2026-09-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/automatiser-le-suivi-de-temps-une-routine-cloud-un-capteur-local</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/automatiser-le-suivi-de-temps-une-routine-cloud-un-capteur-local" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/automating-time-tracking-a-cloud-routine-and-a-local-sensor" />
<lastmod>2026-07-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/ce-que-664-commentaires-de-review-disent-d-un-developpeur</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/ce-que-664-commentaires-de-review-disent-d-un-developpeur" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/what-664-review-comments-say-about-a-developer" />
<lastmod>2026-07-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/write-it-in-pythonic-style-as-a-pythonista-would</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/write-it-in-pythonic-style-as-a-pythonista-would" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/write-it-in-pythonic-style-as-a-pythonista-would" />
<lastmod>2026-07-07T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/comment-une-review-a-19-agents-m-a-fait-surveiller-mon-quota-claude</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/comment-une-review-a-19-agents-m-a-fait-surveiller-mon-quota-claude" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/how-a-19-agent-code-review-made-me-watch-my-claude-quota" />
<lastmod>2026-06-24T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/connecter-gogcli-a-plusieurs-comptes-google</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/connecter-gogcli-a-plusieurs-comptes-google" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/connecting-gogcli-to-multiple-google-accounts" />
<lastmod>2026-06-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/dupliquer-un-repo-github-issues-prs-et-screenshots-compris</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/dupliquer-un-repo-github-issues-prs-et-screenshots-compris" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/mirroring-a-github-repository-issues-prs-and-screenshots-included" />
<lastmod>2026-06-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/remplacer-du-texte-dans-un-pdf-sans-que-ca-se-voit</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/remplacer-du-texte-dans-un-pdf-sans-que-ca-se-voit" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/replacing-text-in-a-pdf-without-it-showing" />
<lastmod>2026-06-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/chainer-plusieurs-videos-hls-dans-un-seul-lecteur</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/chainer-plusieurs-videos-hls-dans-un-seul-lecteur" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/chaining-hls-videos-into-one-player" />
<lastmod>2026-06-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/heberger-un-site-en-prod-pour-4-79-mois-proprement-securise</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/heberger-un-site-en-prod-pour-4-79-mois-proprement-securise" />
<lastmod>2026-05-26T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/construire-un-pipeline-de-transcription-local-sans-envoyer-un-octet-dans-le-cloud</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/construire-un-pipeline-de-transcription-local-sans-envoyer-un-octet-dans-le-cloud" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/building-a-local-transcription-pipeline-without-sending-a-single-byte-to-the-cloud" />
<lastmod>2026-05-19T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/passer-dns-et-certs-ssl-en-terraform-cloudflare-et-cert-manager</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/passer-dns-et-certs-ssl-en-terraform-cloudflare-et-cert-manager" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/moving-dns-and-ssl-certificates-to-terraform-cloudflare-and-cert-manager" />
<lastmod>2026-05-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/gerer-ses-secrets-avec-chezmoi-et-les-service-accounts-1password</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/gerer-ses-secrets-avec-chezmoi-et-les-service-accounts-1password" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/managing-secrets-with-chezmoi-and-1password-service-accounts" />
<lastmod>2026-05-07T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/j-ai-vibe-rempli-mon-credit-d-impot-innovation</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/j-ai-vibe-rempli-mon-credit-d-impot-innovation" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/i-vibe-filled-my-french-tax-innovation-credit" />
<lastmod>2026-04-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/pourquoi-je-versionne-mon-zshrc-avec-chezmoi-apres-que-claude-l-a-casse-deux-fois</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/pourquoi-je-versionne-mon-zshrc-avec-chezmoi-apres-que-claude-l-a-casse-deux-fois" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/why-i-version-my-zshrc-with-chezmoi-after-claude-broke-it-twice" />
<lastmod>2026-03-09T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/comment-on-a-construit-notre-blog-avec-notion-next-js-et-l-invalidation-granulaire-du-cache</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/comment-on-a-construit-notre-blog-avec-notion-next-js-et-l-invalidation-granulaire-du-cache" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/how-we-built-our-blog-with-notion-next-js-and-granular-cache-invalidation" />
<lastmod>2026-03-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/automatiser-les-feuilles-de-temps-mensuelles-depuis-toggl-avec-claude-code</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/automatiser-les-feuilles-de-temps-mensuelles-depuis-toggl-avec-claude-code" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/automating-monthly-timesheets-from-toggl-with-claude-code" />
<lastmod>2026-03-04T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/gerer-plusieurs-espaces-de-travail-claude-code-depuis-un-seul-repo</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/gerer-plusieurs-espaces-de-travail-claude-code-depuis-un-seul-repo" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/managing-multiple-claude-code-workspaces-from-a-single-repo" />
<lastmod>2026-03-04T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/comparer-sa-codebase-aux-meilleurs-repos-open-source-avec-un-agent-claude-code</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/comparer-sa-codebase-aux-meilleurs-repos-open-source-avec-un-agent-claude-code" />
<lastmod>2026-03-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/configurer-un-environnement-de-developpement-complet-avec-les-cloud-agents-de-cursor</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/configurer-un-environnement-de-developpement-complet-avec-les-cloud-agents-de-cursor" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/setting-up-a-full-dev-environment-with-cursor-cloud-agents" />
<lastmod>2026-03-02T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/j-ai-construit-un-skill-worktree-pour-claude-code-puis-ils-l-ont-integre-nativement</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/j-ai-construit-un-skill-worktree-pour-claude-code-puis-ils-l-ont-integre-nativement" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/i-built-a-custom-worktree-skill-for-claude-code-then-they-shipped-it-natively" />
<lastmod>2026-03-02T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/comment-structurer-ses-permissions-claude-code-pour-arreter-de-cliquer-autoriser-en-boucle</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/comment-structurer-ses-permissions-claude-code-pour-arreter-de-cliquer-autoriser-en-boucle" />
<lastmod>2026-02-19T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/les-3-commandes-que-j-utilise-le-plus-dans-claude-code-pr-clear-review</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/les-3-commandes-que-j-utilise-le-plus-dans-claude-code-pr-clear-review" />
<lastmod>2026-02-19T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/utiliser-le-mcp-notion-avec-plusieurs-comptes-dans-claude-code</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/utiliser-le-mcp-notion-avec-plusieurs-comptes-dans-claude-code" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/using-notion-mcp-with-multiple-accounts-in-claude-code" />
<lastmod>2026-02-13T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/construire-un-prototype-sig-3d-pour-l-hybridation-urbaine-a-marseille</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/construire-un-prototype-sig-3d-pour-l-hybridation-urbaine-a-marseille" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/building-a-3d-gis-prototype-for-urban-hybridization-in-marseille" />
<lastmod>2026-02-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/publier-ma-config-claude-code-sous-forme-de-site-github-pages</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/publier-ma-config-claude-code-sous-forme-de-site-github-pages" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/publishing-my-claude-code-config-as-a-github-pages-site" />
<lastmod>2026-02-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/pourquoi-nous-avons-construit-notre-propre-api-html-to-pdf</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/pourquoi-nous-avons-construit-notre-propre-api-html-to-pdf" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/why-we-built-our-own-html-to-pdf-api" />
<lastmod>2026-01-29T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/utiliser-claude-code-pour-trier-les-issues-sentry-et-les-lier-a-github</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/utiliser-claude-code-pour-trier-les-issues-sentry-et-les-lier-a-github" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/using-claude-code-to-triage-sentry-issues-and-link-them-to-github" />
<lastmod>2026-01-27T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/donner-a-claude-code-une-boucle-de-feedback-avec-des-captures-du-simulateur</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/donner-a-claude-code-une-boucle-de-feedback-avec-des-captures-du-simulateur" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/giving-claude-code-a-feedback-loop-with-simulator-screenshots" />
<lastmod>2026-01-27T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/migrer-13-prs-vers-un-monorepo-avec-git-format-patch</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/migrer-13-prs-vers-un-monorepo-avec-git-format-patch" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/migrating-13-prs-to-a-monorepo-with-git-format-patch" />
<lastmod>2026-01-26T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/comment-j-ai-arrete-claude-de-demander-la-permission-pour-tout</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/comment-j-ai-arrete-claude-de-demander-la-permission-pour-tout" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/how-i-stopped-claude-from-asking-permission-for-everything" />
<lastmod>2026-01-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/ecrire-des-articles-de-blog-avec-claude-et-le-mcp-notion</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/ecrire-des-articles-de-blog-avec-claude-et-le-mcp-notion" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/writing-blog-articles-with-claude-and-the-notion-mcp" />
<lastmod>2026-01-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/comment-connecter-le-mcp-notion</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/comment-connecter-le-mcp-notion" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/how-to-connect-the-notion-mcp" />
<lastmod>2026-01-21T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/blog/construire-un-site-e-commerce-whitelabel-avec-next-js</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/construire-un-site-e-commerce-whitelabel-avec-next-js" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/building-a-whitelabel-e-commerce-website-with-next-js" />
<lastmod>2025-06-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en" />
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://qraft.tech/en/cowork</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/cowork" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/cowork" />
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://qraft.tech/en/realisations/episto</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/episto" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/episto" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/en/realisations/hellio</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/hellio" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/hellio" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/en/realisations/cevidentia</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/cevidentia" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/cevidentia" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/en/realisations/easiware</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/easiware" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/easiware" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/en/realisations/embarq</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/embarq" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/embarq" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/en/realisations/billi</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/billi" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/billi" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/en/realisations/sante</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/sante" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/sante" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/en/realisations/bruno</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/bruno" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/bruno" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/en/realisations/chloe</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/realisations/chloe" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/realisations/chloe" />
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog" />
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/new-site-what-we-do-at-qraft-today</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/nouveau-site-ce-qu-on-fait-chez-qraft-aujourd-hui" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/new-site-what-we-do-at-qraft-today" />
<lastmod>2026-09-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/automating-time-tracking-a-cloud-routine-and-a-local-sensor</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/automatiser-le-suivi-de-temps-une-routine-cloud-un-capteur-local" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/automating-time-tracking-a-cloud-routine-and-a-local-sensor" />
<lastmod>2026-07-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/what-664-review-comments-say-about-a-developer</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/ce-que-664-commentaires-de-review-disent-d-un-developpeur" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/what-664-review-comments-say-about-a-developer" />
<lastmod>2026-07-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/write-it-in-pythonic-style-as-a-pythonista-would</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/write-it-in-pythonic-style-as-a-pythonista-would" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/write-it-in-pythonic-style-as-a-pythonista-would" />
<lastmod>2026-07-07T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/how-a-19-agent-code-review-made-me-watch-my-claude-quota</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/comment-une-review-a-19-agents-m-a-fait-surveiller-mon-quota-claude" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/how-a-19-agent-code-review-made-me-watch-my-claude-quota" />
<lastmod>2026-06-24T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/connecting-gogcli-to-multiple-google-accounts</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/connecter-gogcli-a-plusieurs-comptes-google" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/connecting-gogcli-to-multiple-google-accounts" />
<lastmod>2026-06-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/mirroring-a-github-repository-issues-prs-and-screenshots-included</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/dupliquer-un-repo-github-issues-prs-et-screenshots-compris" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/mirroring-a-github-repository-issues-prs-and-screenshots-included" />
<lastmod>2026-06-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/replacing-text-in-a-pdf-without-it-showing</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/remplacer-du-texte-dans-un-pdf-sans-que-ca-se-voit" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/replacing-text-in-a-pdf-without-it-showing" />
<lastmod>2026-06-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/chaining-hls-videos-into-one-player</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/chainer-plusieurs-videos-hls-dans-un-seul-lecteur" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/chaining-hls-videos-into-one-player" />
<lastmod>2026-06-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/building-a-local-transcription-pipeline-without-sending-a-single-byte-to-the-cloud</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/construire-un-pipeline-de-transcription-local-sans-envoyer-un-octet-dans-le-cloud" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/building-a-local-transcription-pipeline-without-sending-a-single-byte-to-the-cloud" />
<lastmod>2026-05-19T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/moving-dns-and-ssl-certificates-to-terraform-cloudflare-and-cert-manager</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/passer-dns-et-certs-ssl-en-terraform-cloudflare-et-cert-manager" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/moving-dns-and-ssl-certificates-to-terraform-cloudflare-and-cert-manager" />
<lastmod>2026-05-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/managing-secrets-with-chezmoi-and-1password-service-accounts</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/gerer-ses-secrets-avec-chezmoi-et-les-service-accounts-1password" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/managing-secrets-with-chezmoi-and-1password-service-accounts" />
<lastmod>2026-05-07T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/i-vibe-filled-my-french-tax-innovation-credit</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/j-ai-vibe-rempli-mon-credit-d-impot-innovation" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/i-vibe-filled-my-french-tax-innovation-credit" />
<lastmod>2026-04-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/why-i-version-my-zshrc-with-chezmoi-after-claude-broke-it-twice</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/pourquoi-je-versionne-mon-zshrc-avec-chezmoi-apres-que-claude-l-a-casse-deux-fois" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/why-i-version-my-zshrc-with-chezmoi-after-claude-broke-it-twice" />
<lastmod>2026-03-09T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/how-we-built-our-blog-with-notion-next-js-and-granular-cache-invalidation</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/comment-on-a-construit-notre-blog-avec-notion-next-js-et-l-invalidation-granulaire-du-cache" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/how-we-built-our-blog-with-notion-next-js-and-granular-cache-invalidation" />
<lastmod>2026-03-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/automating-monthly-timesheets-from-toggl-with-claude-code</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/automatiser-les-feuilles-de-temps-mensuelles-depuis-toggl-avec-claude-code" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/automating-monthly-timesheets-from-toggl-with-claude-code" />
<lastmod>2026-03-04T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/managing-multiple-claude-code-workspaces-from-a-single-repo</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/gerer-plusieurs-espaces-de-travail-claude-code-depuis-un-seul-repo" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/managing-multiple-claude-code-workspaces-from-a-single-repo" />
<lastmod>2026-03-04T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/setting-up-a-full-dev-environment-with-cursor-cloud-agents</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/configurer-un-environnement-de-developpement-complet-avec-les-cloud-agents-de-cursor" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/setting-up-a-full-dev-environment-with-cursor-cloud-agents" />
<lastmod>2026-03-02T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/i-built-a-custom-worktree-skill-for-claude-code-then-they-shipped-it-natively</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/j-ai-construit-un-skill-worktree-pour-claude-code-puis-ils-l-ont-integre-nativement" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/i-built-a-custom-worktree-skill-for-claude-code-then-they-shipped-it-natively" />
<lastmod>2026-03-02T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/using-notion-mcp-with-multiple-accounts-in-claude-code</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/utiliser-le-mcp-notion-avec-plusieurs-comptes-dans-claude-code" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/using-notion-mcp-with-multiple-accounts-in-claude-code" />
<lastmod>2026-02-13T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/building-a-3d-gis-prototype-for-urban-hybridization-in-marseille</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/construire-un-prototype-sig-3d-pour-l-hybridation-urbaine-a-marseille" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/building-a-3d-gis-prototype-for-urban-hybridization-in-marseille" />
<lastmod>2026-02-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/publishing-my-claude-code-config-as-a-github-pages-site</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/publier-ma-config-claude-code-sous-forme-de-site-github-pages" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/publishing-my-claude-code-config-as-a-github-pages-site" />
<lastmod>2026-02-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/why-we-built-our-own-html-to-pdf-api</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/pourquoi-nous-avons-construit-notre-propre-api-html-to-pdf" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/why-we-built-our-own-html-to-pdf-api" />
<lastmod>2026-01-29T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/using-claude-code-to-triage-sentry-issues-and-link-them-to-github</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/utiliser-claude-code-pour-trier-les-issues-sentry-et-les-lier-a-github" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/using-claude-code-to-triage-sentry-issues-and-link-them-to-github" />
<lastmod>2026-01-27T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/giving-claude-code-a-feedback-loop-with-simulator-screenshots</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/donner-a-claude-code-une-boucle-de-feedback-avec-des-captures-du-simulateur" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/giving-claude-code-a-feedback-loop-with-simulator-screenshots" />
<lastmod>2026-01-27T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/migrating-13-prs-to-a-monorepo-with-git-format-patch</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/migrer-13-prs-vers-un-monorepo-avec-git-format-patch" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/migrating-13-prs-to-a-monorepo-with-git-format-patch" />
<lastmod>2026-01-26T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/how-i-stopped-claude-from-asking-permission-for-everything</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/comment-j-ai-arrete-claude-de-demander-la-permission-pour-tout" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/how-i-stopped-claude-from-asking-permission-for-everything" />
<lastmod>2026-01-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/writing-blog-articles-with-claude-and-the-notion-mcp</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/ecrire-des-articles-de-blog-avec-claude-et-le-mcp-notion" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/writing-blog-articles-with-claude-and-the-notion-mcp" />
<lastmod>2026-01-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/how-to-connect-the-notion-mcp</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/comment-connecter-le-mcp-notion" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/how-to-connect-the-notion-mcp" />
<lastmod>2026-01-21T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://qraft.tech/en/blog/building-a-whitelabel-e-commerce-website-with-next-js</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://qraft.tech/blog/construire-un-site-e-commerce-whitelabel-avec-next-js" />
<xhtml:link rel="alternate" hreflang="en" href="https://qraft.tech/en/blog/building-a-whitelabel-e-commerce-website-with-next-js" />
<lastmod>2025-06-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
</urlset>
