Retour au Blog

Comment nous utilisons Sutram pour alimenter notre propre site web

By Sergio Vieira Greve
Comment nous utilisons Sutram pour alimenter notre propre site web

Le dogfooding à son meilleur : Sutram sert son propre blog et sa documentation dans six langues


Le postulat

Il y a un dicton dans le logiciel : si vous n'utilisez pas votre propre produit, pourquoi quelqu'un d'autre le ferait-il ? Chez Sutram, nous avons pris cela à cœur. Notre site marketing — celui que vous lisez en ce moment — est entièrement alimenté par l'infrastructure de contenu de Sutram.

Chaque article de blog, chaque page de documentation, chaque contenu que vous voyez ici est stocké, organisé et servi depuis un projet Sutram. Ce n'est pas une démo. C'est de la production.

L'architecture

Le site est construit avec Astro, un générateur de sites statiques moderne. Au moment du build, Astro appelle l'API REST Sutram pour récupérer tout le contenu, le transforme en HTML statique et déploie sur Netlify. Aucune dépendance runtime, aucune requête de base de données au chargement de la page — juste des pages rapides, pré-construites.

Le flux de contenu ressemble à ceci :

Projet Sutram
  └── /{lang}/Blog/{year}/{post-slug}/
  │     ├── post.md          (corps en markdown)
  │     └── cover.jpg         (image de couverture, optionnelle)
  └── /{lang}/Docs/{category}/{doc-slug}/
        └── guide.md          (corps en markdown)

        ↓  API REST Sutram  ↓

Astro (au moment du build)
  → récupère les dossiers + tags
  → télécharge les fichiers markdown
  → convertit les images de couverture en WebP
  → génère en HTML statique

        ↓  déploiement  ↓

Netlify (CDN)

Six langues, une seule structure

Le site supporte six langues : anglais, portugais, espagnol, français, allemand et italien. Au lieu de maintenir des systèmes de contenu séparés ou de dupliquer les hiérarchies de dossiers, nous utilisons une convention simple : la langue est la racine.

/en/Blog/2026/how-we-use-sutram/
/pt/Blog/2026/como-usamos-o-sutram/
/es/Blog/2026/como-usamos-sutram/

Chaque langue a ses propres dossiers Blog et Docs dans Sutram. Le client API fait correspondre les codes de langue aux identifiants de dossiers et récupère le contenu en conséquence — pas de filtrage par tags, pas de logique de routage complexe. Le chemin du dossier est la langue.

Les chaînes de l'interface du site (navigation, boutons, labels) sont gérées séparément via des fichiers de traduction JSON, mais tout le contenu substantiel — les articles et la documentation que vous lisez vraiment — vit dans Sutram.

Les métadonnées comme tags

Chaque dossier de contenu dans Sutram porte des métadonnées sous forme de tags — de simples paires clé-valeur attachées au dossier lui-même :

Tag Objectif
title Titre affiché de l'article ou du document
author Nom de l'auteur de l'article
excerpt Description courte pour les listes et le SEO
category Catégorie du contenu (ex. « Ingénierie », « Produit »)
published_at Date de publication (contrôle la visibilité et le tri)

C'est l'une des fonctionnalités centrales de Sutram : des métadonnées structurées sur n'importe quel dossier, sans schémas rigides. Le client API lit ces tags pour construire les pages de liste, les filtres par catégorie et les flux RSS — le tout au moment du build.

Images de couverture avec optimisation automatique

Les articles de blog peuvent inclure une image de couverture sous forme de fichier dans le dossier de l'article. Pendant le build, le client Astro :

  1. Détecte le premier fichier image dans le dossier
  2. Le télécharge via l'API Sutram
  3. Le convertit en format WebP à l'aide de sharp
  4. Le redimensionne à 1200x630 (optimisé pour le partage sur les réseaux sociaux)
  5. L'enregistre dans le répertoire de sortie statique

Cela signifie que les auteurs n'ont qu'à déposer une image dans le dossier Sutram — pas de redimensionnement manuel, pas de conversion de format, pas de configuration CDN.

Gérer le contenu avec l'IA et MCP

C'est là que ça devient intéressant. Nous n'utilisons pas d'interface CMS traditionnelle pour écrire et publier du contenu. Au lieu de cela, nous utilisons Claude Code avec le serveur MCP Sutram.

Le workflow :

  1. Écrire ou traduire un article en markdown (souvent avec l'aide de Claude Code)
  2. Créer le dossier de destination dans Sutram via sutram_create_folder
  3. Définir les tags de métadonnées via sutram_set_folder_tags
  4. Téléverser le fichier markdown via sutram_request_upload + sutram_confirm_upload
  5. Déclencher un build Netlify

Tout cela se fait depuis le terminal, dans une seule session de conversation. Pas de navigateur, pas de champs de formulaire, pas de copier-coller. L'agent IA lit le contenu, crée la structure de dossiers, définit les tags, téléverse le fichier, et le site se reconstruit automatiquement.

Cet article même a été écrit, traduit en portugais et publié sur Sutram en utilisant exactement ce workflow.

Le client API

Le cœur de l'intégration est un seul fichier TypeScript (sutram.ts) qui sert de pont entre Sutram et Astro. Il gère :

  • La découverte de contenu — parcourt récursivement les dossiers Sutram pour trouver les records de contenu (tout dossier avec un tag title)
  • La récupération du markdown — télécharge le premier fichier .md de chaque dossier de contenu
  • Le traitement des images — convertit les images de couverture en WebP optimisé
  • Le fallback en données fictives — renvoie du contenu placeholder quand les identifiants API ne sont pas configurés (pour le développement local)

Le client fait environ 460 lignes de TypeScript. Pas de framework, pas d'ORM, pas de couche d'abstraction — juste des appels fetch vers l'API Sutram et sharp pour le traitement d'images.

Pourquoi c'est important

Le dogfooding n'est pas qu'une question de crédibilité. Cela nous force à ressentir les mêmes frictions que nos utilisateurs. Chaque aspérité de l'API, chaque fonctionnalité manquante, chaque comportement déroutant — nous le ressentons en premier.

Certaines choses que nous avons découvertes et améliorées en utilisant Sutram pour notre propre site :

  • La détection de contenu par tags fonctionne mieux que les conventions de nommage rigides de dossiers
  • Le parcours récursif des dossiers est essentiel pour des hiérarchies de contenu flexibles
  • Le serveur MCP rend la gestion de contenu depuis le terminal non seulement possible, mais préférable pour les équipes techniques
  • Les racines de dossiers par langue sont plus simples que le filtrage par tags de langue

Les chiffres

Métrique Valeur
Langues supportées 6 (en, pt, es, fr, de, it)
Types de contenu 2 (Articles de blog, Documentation)
Appels API par build ~20-30
Temps de build < 30 secondes
JavaScript runtime 0 (HTML statique)
Interface CMS utilisée Aucune (MCP + terminal)

Conclusion

Utiliser Sutram pour alimenter notre propre site est la déclaration la plus forte que nous puissions faire sur la plateforme. Ce n'est pas un projet jouet ni une preuve de concept — c'est le système de production qui sert chaque page que vous voyez ici.

Si votre contenu a besoin de structure, votre équipe a besoin de contrôle, et votre workflow bénéficie de l'automatisation — Sutram a été conçu exactement pour cela. Et nous le prouvons chaque jour, en commençant par cette page même.