Phase de testCet environnement est en test de pré-lancement — toutes les données seront réinitialisées au lancement.
Mockomat
— Architecture

Un modèle que tu écris une fois.
Des surfaces qui restent synchronisées.

Mockomat est construit autour de quatre idées. Ensemble, elles font en sorte que les données fictives se ressentent comme une extension de ta base de code, pas un projet parallèle. Voici comment le système raisonne — et ce qu'il t'apporte.

— Le pipeline

Des entités à deux surfaces en direct.

Tu décris des entités et des attributs ; Mockomat compile un schéma GraphQL typé, lie les attributs au pool de données et sert à la fois un endpoint JSON et un aperçu rendu à partir du même artefact compilé.

CONCEPTION COMPILATION DIFFUSION CONSOMMATION Ton modèle User · email · fullName · avatarUrl Order · orderNo · total · status Compilateur schema · types · resolvers pool ↔ correspondances de champs plan de seed DÉTERMINISTE Runtime sans état · amorçable resolver par type renderer par type seed = sha(...) POST /graphql application/json Pour ton code, ta CI, tes agents IA GET /preview text/html Pour les PM, designers et parties prenantes mockomat.pool un pool partagé · lecture seule
— Les quatre idées

Des principes, pas des patterns.

Nous n'avons pas construit Mockomat en accumulant des fonctionnalités. Chaque capacité découle de l'un de ces quatre engagements. Si tu les comprends, tu peux prédire le comportement du reste du système.

01

Schema-first.

Tu conçois le modèle. Mockomat le compile.

Tout part de tes entités et attributs. Les données fictives, le schéma GraphQL, la documentation, l'aperçu rendu — tout dérive d'une source unique de vérité. Modifie le modèle, tout en aval se régénère.

seed
02

Rejeu déterministe.

Même seed en entrée. Mêmes données en sortie. À chaque fois.

Le moteur est sans état et piloté par le seed. Une requête vers /graphql à tout moment rejoue à partir du même seed convenu par ton équipe — un instantané aujourd'hui correspond à un instantané en CI demain. Pas de fixtures instables, pas de dérive entre environnements.

03

Multi-tenant par défaut.

Espaces de travail, projets, rôles, clés délimitées.

Chaque compte est une frontière de tenant. À l'intérieur, les projets délimitent les schémas ; les rôles délimitent les droits d'édition ; les clés API délimitent l'accès externe. La configuration est isolée par tenant dès le premier octet — jamais ajoutée après coup.

JSON UI
04

Deux surfaces, un modèle.

Lisible par la machine pour le code. Lisible par l'humain pour la revue.

Le même modèle sert /graphql pour ton application et /preview pour les parties prenantes. Les ingénieurs consomment du JSON ; les designers et les chefs de projet voient un tableau ou une liste rendus des mêmes données. Pas de seconde source de vérité pour les revues produit.

— Génération de code

Exporte ton modèle en tant que vrai projet.

Quand le prototypage se termine et que la livraison commence, ton schéma Mockomat ne reste pas enfermé dans notre service. Un clic génère un client Angular entièrement typé et un socle serveur NestJS — tous deux câblés au même contrat GraphQL que tu as déjà validé.

FRONTEND Angular 17 · standalone components · Apollo client
BACKEND NestJS 10 · GraphQL code-first · resolver stubs
SCHEMA GraphQL SDL · régénéré à chaque export
codegen.pipeline · déterministe · idempotent
schema.graphql
ton modèle · 38 types · 142 champs
compiler
frontend/ — Angular
requêtes typées · composants
backend/ — NestJS
resolvers · DTOs · modules
MY-PROJECT.ZIP
📁 my-project/
📁 frontend/
📄 src/app/users/users.component.ts
📄 src/app/users/users.queries.ts ← requêtes Apollo typées
📄 src/app/graphql.types.ts
📁 backend/
📄 src/users/users.resolver.ts
📄 src/users/user.dto.ts
📄 src/users/users.module.ts
📄 schema.graphql ← source unique de vérité
📄 package.json
📄 README.md
— Pourquoi le déterminisme compte

Même entrée.
Même sortie.
Toujours.

Les données fictives avec des seeds aléatoires cassent les tests, cassent les revues et érodent la confiance. Le moteur de Mockomat indexe chaque réponse sur le même seed choisi par ton équipe. Récupère un enregistrement le mois prochain — même structure, mêmes valeurs, mêmes relations.

# demander le même utilisateur, deux fois, à trois mois d'écart
$ curl mockomat.app/p/abc/graphql -d '{ user(id:42) { email } }'
{ "data": { "user": { "email": "ada@bessemer.com" } } }
# 90 jours plus tard, même requête…
$ curl mockomat.app/p/abc/graphql -d '{ user(id:42) { email } }'
{ "data": { "user": { "email": "ada@bessemer.com" } } }