Skip to content

Export

L'export fait le pont entre l'intention du modèle et l'implémentation backend dont tu es propriétaire. Il prend ton projet Mockomat validé et génère un backend NestJS prêt pour la production que tu possèdes entièrement — aucune dépendance runtime envers Mockomat, aucun verrouillage fournisseur.

Le code généré est le vôtre. Tu peux le modifier, l'étendre, le déployer et le commercialiser sans restrictions.

Objectifs de l'export

L'export devrait produire un backend de démarrage qui est :

  • Lisible — code propre et bien structuré suivant les conventions et bonnes pratiques NestJS.
  • Structuré — organisé par modules de domaine avec une séparation claire des responsabilités.
  • Traçable — chaque module, entité et resolver généré correspond à ton modèle Mockomat.
  • Prêt pour l'ownership d'équipe — qualité de code sur laquelle une équipe de développement peut immédiatement s'appuyer.

L'objectif n'est pas de remplacer le développement backend — c'est d'éliminer la phase de scaffolding répétitive et de permettre à ton équipe de se concentrer sur la logique métier dès le premier jour.

Screenshot ex-01-export-configScreenshot ex-01-export-config
ex-01-export-configMissing

Panneau de configuration d'export avec options cibles.

Sources d'entrée

L'export peut générer un backend à partir de deux sources :

Projet natif Mockomat

Utilise les métadonnées de ton projet existant — toutes les entités, attributs, relations, associations et configurations API sont utilisées comme entrée de génération. C'est le chemin recommandé pour la plupart des utilisateurs.

Import OpenAPI

Télécharge une spécification OpenAPI (JSON ou YAML) et génère un backend directement à partir de la spec. Utile lorsque tu as déjà un contrat API défini en dehors de Mockomat et souhaites générer l'implémentation.

Screenshot ex-01b-input-sourcesScreenshot ex-01b-input-sources
ex-01b-input-sourcesMissing

Sélection de source d'export : projet Mockomat ou import OpenAPI.

Options d'export

Lors du démarrage d'un export, tu configures plusieurs options qui déterminent la forme du backend généré :

Style d'API

OptionDescription
GraphQL (code-first)Génère des resolvers, types d'objets et types d'entrée avec les décorateurs GraphQL NestJS.
REST (basé OpenAPI)Génère des controllers avec des décorateurs de routes et des annotations Swagger.
Les deuxGénère à la fois des resolvers GraphQL et des controllers REST pour les mêmes modèles de domaine.

Couche de persistance

OptionDescription
TypeORM (SQL)Génère des entités avec des décorateurs TypeORM ciblant les bases de données relationnelles (PostgreSQL, MySQL, MariaDB).
Mongoose (MongoDB)Génère des schémas et modèles pour MongoDB via Mongoose.
En mémoireGénère des stores en mémoire simples pour un prototypage rapide sans configuration de base de données.

Scaffolding d'authentification

Le projet généré inclut un scaffolding d'authentification JWT optionnel :

  • Un stub d'entité User basique
  • Configuration du guard JWT
  • Décorateurs d'endpoints protégés
  • Stubs d'endpoints de login et d'inscription

Ce scaffolding fournit un point de départ — tu remplaces les stubs par ta logique d'authentification réelle.

Ce qui est généré

L'export produit un projet NestJS complet et exécutable :

text
/nestjs-backend
  /src
    /modules
      /customer
        customer.module.ts
        customer.controller.ts    (REST) or customer.resolver.ts (GraphQL)
        customer.service.ts
        customer.entity.ts
        /dto
          create-customer.dto.ts
          update-customer.dto.ts
      /order
        order.module.ts
        order.controller.ts
        order.service.ts
        order.entity.ts
        /dto
          create-order.dto.ts
          update-order.dto.ts
    /common
      /filters
      /interceptors
      /pipes
    app.module.ts
    main.ts
  package.json
  tsconfig.json
  README.md

Ce que contient chaque fichier

FichierObjectif
EntityDéfinition du schéma de base de données avec décorateurs (TypeORM ou Mongoose)
ServiceCouche de logique métier avec opérations CRUD et gestion des relations
Controller/ResolverCouche API exposant les endpoints avec validation des entrées
DTOsObjets de transfert de données avec décorateurs class-validator pour la validation des entrées
ModuleModule NestJS reliant le service, le controller et l'entité
CommonFiltres, interceptors et pipes partagés utilisés entre modules

Flux d'export typique

1. Valider le modèle et la disponibilité runtime

Avant d'exporter, parcours la liste de contrôle de validation runtime. Confirme que :

  • Toutes les entités ont des associations d'attributs complètes.
  • Les relations se résolvent correctement en prévisualisation.
  • Les opérations de filtrage et de tri fonctionnent comme attendu.
  • Aucune indication non résolue ne subsiste.

Un passage de validation runtime propre augmente significativement la qualité du code généré.

2. Choisir les options d'export

Sélectionne ton style d'API, couche de persistance et préférences d'authentification. En cas de doute, commence par GraphQL + TypeORM — c'est la configuration la plus courante pour les backends NestJS.

3. Générer le package

Clique sur générer et attends que le projet backend soit construit. Le processus de génération lit ta configuration de modèle complète et produit tous les fichiers en un seul passage.

4. Télécharger et exécuter localement

Le projet généré est livré sous forme de fichier .zip. Extraye-le et exécute :

bash
npm install
npm run start:dev

Le backend démarre sur un port local avec le hot reload activé. Tu peux immédiatement tester l'API avec ton client GraphQL ou outil REST préféré.

5. Transférer à l'équipe d'implémentation

Le projet généré est un point de départ, pas un produit fini. Transfère-le à ton équipe de développement avec un contexte clair sur :

  • Ce qui a été généré et pourquoi
  • Quelles parties sont prêtes pour la production
  • Quelles parties nécessitent une implémentation personnalisée
Screenshot ex-02-generated-structureScreenshot ex-02-generated-structure
ex-02-generated-structureMissing

Aperçu de la structure du projet backend généré.

Ce qu'il faut vérifier après l'export

Après la génération de ton backend, vérifie ces domaines avant de construire dessus :

Limites de modules et nommage

  • Chaque module correspond-il à une entité de domaine de ton modèle Mockomat ?
  • Les noms de modules, services et controllers sont-ils cohérents et significatifs ?
  • L'organisation des fichiers correspond-elle aux conventions de ton équipe ?

Couverture DTOs et validation

  • Les DTOs incluent-ils tous les champs obligatoires ?
  • Les décorateurs class-validator sont-ils correctement appliqués (ex. @IsString(), @IsNumber(), @IsOptional()) ?
  • Les DTOs de création et de mise à jour diffèrent-ils de manière appropriée ?

Structure resolver/controller

  • Tous les endpoints prévus sont-ils générés ?
  • Les chemins de routes ou noms de requêtes correspondent-ils à ta conception API ?
  • Les guards et décorateurs sont-ils correctement appliqués ?

Gestion des relations

  • Les relations d'entités sont-elles définies avec les décorateurs corrects (@OneToMany, @ManyToOne, @ManyToMany) ?
  • La couche service gère-t-elle le chargement des relations (eager vs lazy) ?
  • Les options de cascade sont-elles configurées de manière appropriée ?
Screenshot ex-02b-code-reviewScreenshot ex-02b-code-review
ex-02b-code-reviewMissing

Vue de liste de contrôle de revue de code post-export.

Liste de contrôle de transfert post-export

Utilise cette liste lors du transfert du projet généré à ton équipe d'implémentation :

  • Assigner la responsabilité par module/domaine — chaque module devrait avoir un responsable clair chargé de l'étendre.
  • Définir ce qui reste généré vs personnalisé — marquer quels fichiers sont du scaffolding généré et lesquels nécessitent une logique métier personnalisée.
  • Capturer les lacunes connues — documenter les fonctionnalités que Mockomat ne génère pas (règles métier complexes, intégrations externes, jobs en arrière-plan).
  • Mettre en place le contrôle de version — commiter le code généré comme ta baseline initiale et brancher à partir de là.
  • Configurer les environnements — mettre en place les connexions de base de données, variables d'environnement et pipelines de déploiement.
  • Exécuter la suite de tests complète — même si le code généré compile, vérifie le comportement tôt avec des tests d'intégration.
Screenshot ex-03-post-export-runScreenshot ex-03-post-export-run
ex-03-post-export-runMissing

Premier démarrage local et liste de contrôle de vérification.

Propriété du code

Le code généré t'appartient à 100%. Il n'y a aucune dépendance runtime envers Mockomat, aucun frais de licence sur la sortie générée et aucune restriction sur l'utilisation commerciale. Tu peux :

  • Modifier chaque ligne du code généré
  • Déployer sur n'importe quelle infrastructure (AWS, GCP, Azure, on-premise)
  • Utiliser dans des produits commerciaux sans attribution
  • Partager avec des clients, partenaires ou communautés open-source

Le projet généré est une application NestJS standard. Tout développeur NestJS peut l'étendre immédiatement.