1. The model: which fields
A record model declares the common shape: a title and a main image for all, then the fields you choose. Five field types cover almost everything.
text short text → a duration, a city, a displayed price
rich_text rich text → a formatted description
image image → a photo from the media library
video video (address) → YouTube, Vimeo
button button or link → to a page, an address, a questionnaire
Example: a « Project » model
POST /api/agent/v1/modeles/creer/
{ "nom": "Project", "slug": "project",
"champs": [
{ "code": "place", "libelle": "Place", "type": "text" },
{ "code": "year", "libelle": "Year", "type": "text" },
{ "code": "description", "libelle": "Description", "type": "rich_text" },
{ "code": "photo", "libelle": "Photo", "type": "image" }
] }