Aller au contenu principal

TopModel

Modélisez en toute simplicité

Décrivez votre modèle de données une seule fois, en YAML, et générez un code idiomatique et standard pour l'ensemble de votre stack.

Pourquoi TopModel ?

Un outil de modélisation pensé pour la simplicité, la collaboration et la pérennité.

Modélisation simple

Un modèle de données décrit en YAML, facilement lisible, éditable, comparable et compatible Git.

Génération multi-langages

Générez du code idiomatique pour C#, Java/JPA, JavaScript/TypeScript et SQL à partir d'un modèle unique.

Non intrusif

Pas de runtime, pas de framework imposé. Le code généré est standard et « débranchable » à tout moment.

Extension VSCode

Autocomplétion, validation temps réel, navigation et prévisualisation UML directement dans l'éditeur.

Système de tags

Un seul modèle, plusieurs applications : filtrez finement ce qui est généré pour chaque cible.

Extensible

Créez vos propres générateurs personnalisés pour répondre aux besoins spécifiques de votre projet.

Du modèle au code, en une seule commande

Décrivez votre classe en YAML, lancez modgen, et obtenez du code propre, prêt à l'emploi.

Je modélise en YAML
utilisateur.tmd
---
module: Utilisateur
tags: [Back, Front]
---
class:
name: Utilisateur
trigram: UTI
comment: Un utilisateur de l'application
properties:
- name: Id
domain: DO_ID
required: true
primaryKey: true
- name: Email
domain: DO_EMAIL
required: true
- name: Nom
domain: DO_LIBELLE
required: true
J'obtiens du code généré
Utilisateur.cs
[Table("utilisateur")]
public partial record Utilisateur
{
[Column("id")]
[Domain(Domains.Id)]
[Key]
public long? Id { get; set; }

[Column("email")]
[Required]
[Domain(Domains.Email)]
[StringLength(50)]
public string Email { get; set; }

[Column("nom")]
[Required]
[Domain(Domains.Libelle)]
[StringLength(15)]
public string Nom { get; set; }
}

Un modèle, toute votre stack

TopModel fournit des générateurs pour les langages et frameworks les plus courants.

Prêt à modéliser ?

Parcourez le tutoriel pas-à-pas ou plongez directement dans la référence complète.

dotnet tool install --global TopModel.Generator