Modélisation simple
Un modèle de données décrit en YAML, facilement lisible, éditable, comparable et compatible Git.
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.
Un outil de modélisation pensé pour la simplicité, la collaboration et la pérennité.
Un modèle de données décrit en YAML, facilement lisible, éditable, comparable et compatible Git.
Générez du code idiomatique pour C#, Java/JPA, JavaScript/TypeScript et SQL à partir d'un modèle unique.
Pas de runtime, pas de framework imposé. Le code généré est standard et « débranchable » à tout moment.
Autocomplétion, validation temps réel, navigation et prévisualisation UML directement dans l'éditeur.
Un seul modèle, plusieurs applications : filtrez finement ce qui est généré pour chaque cible.
Créez vos propres générateurs personnalisés pour répondre aux besoins spécifiques de votre projet.
Décrivez votre classe en YAML, lancez modgen, et obtenez du code propre, prêt à l'emploi.
---
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
@Entity
@Table(name = "UTILISATEUR")
@Generated("TopModel")
public class Utilisateur {
@Id
@Column(name = "ID", nullable = false)
private long id;
@Column(name = "EMAIL", length = 50, nullable = false)
private String email;
@Column(name = "NOM", length = 15, nullable = false)
private String nom;
public long getId() { return this.id; }
public void setId(long id) { this.id = id; }
public String getEmail() { return this.email; }
public void setEmail(String email) { this.email = email; }
public String getNom() { return this.nom; }
public void setNom(String nom) { this.nom = nom; }
}
[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; }
}
TopModel fournit des générateurs pour les langages et frameworks les plus courants.
Parcourez le tutoriel pas-à-pas ou plongez directement dans la référence complète.
dotnet tool install --global TopModel.Generator