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 :
- Détecte le premier fichier image dans le dossier
- Le télécharge via l'API Sutram
- Le convertit en format WebP à l'aide de
sharp - Le redimensionne à 1200x630 (optimisé pour le partage sur les réseaux sociaux)
- 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 :
- Écrire ou traduire un article en markdown (souvent avec l'aide de Claude Code)
- Créer le dossier de destination dans Sutram via
sutram_create_folder - Définir les tags de métadonnées via
sutram_set_folder_tags - Téléverser le fichier markdown via
sutram_request_upload+sutram_confirm_upload - 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
.mdde 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.