jtakeit
Essai gratuit

CMS Next.js pour sites clients

Un CMS Next.js pour les sites clients que votre agent écrit

jtakeit est un CMS Next.js basé sur git pour sites clients : votre agent builde un export statique dans votre dépôt, le propriétaire modifie le texte sur la page, et la plateforme gère formulaires, réservations, hébergement et domaine.

zsh — client-site
$ npx create-next-app@latest client-site --ts --app
$ cd client-site
# next.config.mjs: output 'export', basePath from SITE_URL
$ npm run build
$ ls dist
404.html  _meta.json  _next  index.html  robots.txt  sitemap.xml
$ git push origin main
# then, over MCP: validate_catalogue → commit_and_build
Un export statique Next.js organisé selon le contrat de jtakeit : un seul build, dans le dossier que sert la plateforme.

01/ ce qu’il lui faut

Ce qu’il faut à un CMS Next.js pour des sites clients

Un site client construit avec Next.js a besoin de plus qu’un endroit où ranger des textes. Le propriétaire doit pouvoir changer ses propres textes sans vous appeler, et le site doit quand même recevoir des demandes, prendre des réservations et laisser le client partir avec ses données.

  • Des modifications qui ne cassent pas le design

    Le propriétaire touche le texte sur la page et ne remplit que les champs que le catalogue déclare. Pas de bouton pour ajouter une page ou un bloc, et c’est voulu.

  • Le contenu dans votre dépôt

    Les textes publiés sont du JSON dans le dépôt git que vous détenez. Chaque enregistrement est un commit.

  • Formulaires de contact

    Les formulaires sont protégés contre le spam, et les demandes arrivent dans Telegram, par e-mail ou dans la boîte de réception du panneau.

  • Réservations payées

    Le module réservations envoie les réservations payées directement sur le compte Stripe de l’entreprise.

  • Un aperçu avant de payer

    Le client valide le vrai site, sur un aperçu, avant sa mise en ligne.

  • Une porte de sortie

    Demandes et réservations s’exportent en CSV et en JSON. L’export ne demande jamais d’abonnement actif.

02/ git ou api

Basé sur git, ou un CMS headless pour Next.js ?

Un CMS headless garde le contenu dans sa propre base de données et le sert via une API — un bon choix quand une équipe de contenu publie sur un site, une application et plus encore. Un site client a un seul propriétaire et un seul site : jtakeit garde donc ses textes dans le dépôt, à côté du code.

Où vit le contenu : un CMS headless classique, décrit en termes généraux, comparé à jtakeit. Chaque produit est différent — vérifiez celui que vous envisagez.
Un CMS headless classiquejtakeit
Contenu publiéDans la base de données du CMS, récupéré via son APIDu JSON dans votre dépôt
Comment le build le récupèreUn appel d’API depuis le build ou depuis le serveurUn fichier que la plateforme assemble pour chaque build
Un enregistrementUne mise à jour d’enregistrementUn commit ; les brouillons restent dans la base de données de la plateforme
Où le propriétaire modifieUne application d’administration séparéeSur la page elle-même, en touchant son texte
Formulaires, réservations, hébergementHors du CMS, ajoutés séparémentGérés par la plateforme, avec la facturation, les sauvegardes et le domaine
Le site tel qu’il était en marsDépend de l’historique du CMSUne commande dans git

03/ export statique

L’export statique Next.js sur jtakeit

La plateforme builde chaque site de la même manière : elle lance le build du projet, puis sert le dossier que ce build écrit. Next.js s’y intègre en export statique — du HTML écrit au moment du build, sans aucun serveur qui tourne quand quelqu’un visite le site.

next.config.mjs · package.json · public/_meta.json
// next.config.mjs
const site = new URL(process.env.SITE_URL ?? 'http://localhost:3000/');

export default {
  output: 'export',      // static HTML, no server at request time
  basePath: site.pathname.replace(/\/$/, ''), // '' live, '/p/<slug>' in preview
  trailingSlash: true,   // /about/index.html, not /about.html
  images: { unoptimized: true },
};

// package.json — the platform runs `npm run build` and serves dist/
"scripts": { "build": "next build && rm -rf dist && cp -R out dist" }

// public/_meta.json — copied into dist/ with the rest of public/
{ "immutable": ["/_next/static/"] }
Un export statique écrit par défaut dans son propre dossier : le script de build le copie donc dans celui que sert la plateforme.
lib/jtk.ts · app/page.tsx · app/robots.ts
// lib/jtk.ts — runs at build time, never in the browser
import { readFileSync } from 'node:fs';

const file = process.env.JTK_CONTENT_FILE;
export const published = file ? JSON.parse(readFileSync(file, 'utf8')) : null;

// data-jtk-path only when the platform asks for it
export const tap = (path: string) =>
  process.env.PUBLIC_JTK_ANNOTATE ? { 'data-jtk-path': path } : {};

// app/page.tsx
<h1 {...tap('blocks[0].title')}>{hero.title}</h1>

// app/robots.ts
export const dynamic = 'force-static';
const site = process.env.SITE_URL!.replace(/\/?$/, '/');
export default function robots() {
  return { rules: { userAgent: '*', allow: '/' },
           sitemap: new URL('sitemap.xml', site).href };
}
Lisez les textes publiés au moment du build ; n’annotez que si la plateforme le demande.

Définies pour chaque build

  • SITE_URLl’adresse du site : l’hôte de l’URL canonique et du sitemap
  • PUBLIC_JTK_ANNOTATEsi elle est définie, marquer chaque champ que le propriétaire peut modifier
  • JTK_CONTENT_FILEl’endroit où le contenu publié a été assemblé pour être lu par ce build

Ce que le build doit contenir

  • Une page à part pour chaque adresse — chaque page dans son propre dossier, pas un fichier HTML isolé à côté des autres.
  • Des assets qui fonctionnent sous l’adresse de l’aperçu. Un aperçu est servi sous un chemin qui lui est propre : le chemin de base vient donc de l’adresse du site que définit la plateforme.
  • Une page 404, que l’export statique écrit pour vous.
  • Un robots.txt qui laisse entrer les robots d’indexation, et un sitemap sur l’adresse du site.
  • Une URL canonique sur cet hôte sur chaque page, et aucun noindex nulle part — la plateforme refuse un build qui en contient un.
  • Une indication de cache qui marque les assets hachés de Next comme immuables, pour qu’ils restent en cache définitivement.
  • Le catalogue de ce que le propriétaire peut modifier, écrit à la main ou par votre propre outil et vérifié par la plateforme. Les formulaires envoient leurs demandes à la plateforme.

04/ écrit par votre agent

Next.js, avec votre agent qui met en place le contrat

Astro est le modèle de départ que fournit jtakeit. Sur Next.js, il n’y a pas de starter à cloner : vous — ou votre agent IA, Claude Code par exemple, via le serveur MCP de jtakeit — organisez le projet selon le contrat documenté, et la plateforme le vérifie comme n’importe quel autre site.

Modèle AstroExport statique Next.js
Point de départLe modèle Astro de jtakeitVotre propre projet Next.js
CatalogueGénéré et vérifié par l’outil de catalogue du modèleÉcrit à la main ou par votre propre outil
Formulaires et spécimensInclusÀ construire vous-même ; les formulaires envoient les demandes à la plateforme
DépendancesPréinstalléesInstallées par votre build
Un buildMoins d’une minuteEnviron 90 secondes

Comment le flux fonctionne avec Claude Code →
Comment l’édition est déclarée sur le modèle Astro →

05/ choisir

Choisir le meilleur CMS pour des sites clients Next.js

Partez de ce que le site doit faire quand quelqu’un le visite. S’il a besoin du serveur au moment de la requête — régénération statique incrémentale, routes d’API, middleware, server actions ou pages rendues à chaque requête —, jtakeit n’est pas le bon outil : il ne sert que de la sortie statique, quel que soit le framework.

Si le site peut être construit à l’avance, la question devient : qui le modifie ? jtakeit s’adresse aux développeurs dont les clients doivent pouvoir changer leurs propres textes — et rien d’autre — sans vous appeler, et qui préfèrent ne pas faire tourner eux-mêmes formulaires, réservations, facturation, sauvegardes, hébergement et domaine.

Pas attaché à Next.js ? Le CMS Astro pour sites clients est le modèle de départ fourni et builde en moins d’une minute. Le fonctionnement de l’édition basée sur git, quel que soit le générateur, est décrit sur la page CMS statique pour sites clients.

06/ questions

Questions sur le CMS Next.js

jtakeit prend-il en charge Next.js ?
Oui, en export statique. La plateforme lance le build du projet et sert le dossier qu’il écrit : un site Next.js convient donc s’il est construit à l’avance en export statique et copié dans ce dossier. Astro est le modèle de départ que fournit jtakeit ; sur Next.js, c’est vous qui organisez le projet selon le même contrat documenté.
Puis-je utiliser l’App Router ?
L’App Router peut produire un export statique tant que rien dans le site n’a besoin d’un serveur au moment de la requête : pas de régénération statique incrémentale, pas de route handlers ni de server actions exécutés à chaque requête, pas de middleware et aucun rendu qui dépend de la requête. C’est une limite de l’export statique de Next.js lui-même : vérifiez donc votre application avec la documentation de Next.js sur l’export statique.
Existe-t-il un starter Next.js officiel ?
Non. Il n’existe ni starter, ni plugin, ni SDK Next.js. Le modèle de départ fourni par jtakeit est Astro. Sur Next.js, c’est vous — ou votre agent IA — qui mettez en place le contrat documenté : le build écrit dans le dossier que sert la plateforme, il lit les textes publiés depuis un fichier que prépare la plateforme, et le catalogue de ce que le propriétaire peut modifier est écrit à la main ou par votre propre outil, puis vérifié par la plateforme.
Combien de temps prend un build ?
Environ 90 secondes pour un site qui n’est pas sur le modèle Astro, car le build installe vos propres dépendances. Le modèle Astro a ses dépendances préinstallées et builde en moins d’une minute.
Comment le client modifie-t-il un site Next.js ?
En touchant le texte sur la page. Le catalogue du site déclare les champs que le propriétaire peut remplir, et quand la plateforme le demande, vos pages marquent ces champs. Chaque enregistrement est un commit dans votre dépôt, et le build suivant lit les textes publiés depuis le fichier que prépare la plateforme.
Combien ça coûte ?
L’inscription, la création et l’aperçu sont gratuits. Une fois un site en ligne, vous payez un prix de gros par site en ligne, au mois ou à l’année, et vous facturez votre client à votre propre prix — sur Next.js comme sur Astro. Les chiffres sont sur la page des tarifs.

07/ essai gratuit

Essayez-le sur un vrai site client

Inscrivez-vous dans le panneau et créez votre premier site client — sur le modèle Astro ou en export statique Next.js. Vous ne payez un prix de gros que lorsqu’un site passe en ligne.

Essai gratuitadmin.jtakeit.com

  • Gratuit jusqu’à la mise en ligne d’un site
  • Ensuite, un prix de gros par site en ligne, à partir de €5 par mois
  • Le code reste dans votre dépôt git