C'EST QUOI ?
StudioCMS est un CMS headless conçu spécifiquement pour Astro. Là où un CMS classique tourne à côté du site et se consomme via une API distante, StudioCMS s'installe comme une intégration Astro (npx astro add studiocms) et vit à l'intérieur du projet, en rendu côté serveur. Le contenu part dans sa propre base de données et le tableau de bord d'administration est servi par le site lui-même. À noter : le projet est encore en 0.x, l'API bouge d'une version à l'autre.
POURQUOI C'EST INTÉRESSANT ?
- Une intégration, pas un service de plus : pas de second déploiement à maintenir, pas de clé d'API entre le CMS et le front. Le dashboard, l'authentification et les routes de contenu sont générés dans le même build Astro que le site.
- Tout passe par des plugins : le cœur reste minimal et les fonctionnalités s'ajoutent par paquets. Renderers (
@studiocms/md,mdx,markdoc,html,wysiwyg), OAuth, service d'images Cloudinary, front-end blog clé en main, et une API pour écrire les siens, y compris des pages de dashboard custom. - Base de données au choix : libSQL par défaut (compatible Turso), mais aussi PostgreSQL et MySQL. L'accès passe par Kysely, avec un système de migrations fourni pour suivre les évolutions de schéma.
- Authentification incluse : login et mot de passe en natif, plus GitHub, Discord, Google et Auth0 via le plugin OAuth. Gestion des utilisateurs, des rôles et des permissions directement dans le dashboard.
- Auto-hébergé et sous MIT : aucune offre SaaS imposée, les données restent sur l'infrastructure choisie. Le mode SSR fonctionne aussi sur les hébergeurs serverless, avec l'édition complète.
CAS D'USAGE
- Ajouter une interface d'administration à un site Astro existant sans monter un CMS séparé
- Site vitrine ou blog géré par des rédacteurs non techniques, en gardant un front Astro sur mesure
- Remplacer un headless SaaS par une stack auto-hébergée avec la même base de code
- Projet Astro multi-utilisateurs où il faut des rôles et un vrai contrôle d'accès
- Base de contenu SSR sur Turso ou PostgreSQL, déployée en serverless
