# Inclure des vues et des ressources

> Réutilisez du balisage avec @{view()} et ajoutez des scripts et des styles avec @{import()}.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: fr
Content-SHA256: 8d89d1a8f9b933b1a8695c40f02982fa6e244d079893e1deae44ab4132458a10
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

`@{view(name, model)}` rend une autre vue à cet endroit, si bien que les éléments répétés (une carte, une ligne, un pied de page) vivent dans un seul fichier. Le deuxième argument est le modèle de la vue incluse.

`@{import('a.js', 'a.css')}` écrit les balises `<script>` et `<link>` pour les fichiers de `public/js/` et `public/css/`. Listez plusieurs fichiers joints par `+` pour obtenir une balise par fichier.

```html views/card.html
<article class="card"><h2>@{model.title}</h2></article>
```

```html views/index.html
@{layout('')}
@{import('app.js', 'app.css')}
@{foreach item in model.items}
	@{view('card', item)}
@{end}
```

```js controllers/default.js
exports.install = function() {
	ROUTE('GET /', page);
};

function page($) {
	$.view('index', { items: [{ title: 'First' }, { title: 'Second' }] });
}
```
