# Les vues web
Frappé a deux principaux environnements, le **bureau** et **le web**. Le **bureau** est un environnement riche AJAX alors
que **le web** est une collection plus traditionnelle de fichiers HTML pour la consultation publique. Les vues web peuvent
aussi être générées pour créer des vues plus controllées pour les utilisateurs qui peuvent se connecter mais qui n'ont pas
accès au desk.
Dans Frappé, les vues sont gérées par des templates et sont tout naturellement placés dans le repertoire `templates`. Il
y a 2 principaux types de templates.
1. Pages: Ce sont des templates Jinja ou une vue unique existe pour une route (exemple:`/blog`).
2. Générateurs: Ce sont des templates ou chaque instance représente un **DocType** réprésenté par une url unique. (exemple:`/blog/a-blog`, `blog/b-blog` etc.)
3. Les listes et les vues: Ce sont des listes standards et des vues avec l'url `[doctype]/[name]` et sont affichées en fonction des permissions.
### Les vues web standards
> Cette fonctionnalité est encore en développement.
Jettons un oeil aux vues standards:
Si vous êtes connecté avec votre utilisateur de test, rendez-vous sur`/article` et vous devriez voir la liste des articles:
Cliquez sur un article et vous devriez voir une vue par défaut.
Maintenant, si vous voulez une meilleur liste pour vos articles, créez un fichier appelé `row_template.html` dans le
repertoire `library_management/templates/includes/list/`. Voici un exemple du contenu de ce fichier:
{% raw %}
{{ doc.author }}
{{ (doc.description[:200] + "...") if doc.description|length > 200 else doc.description }}
Publisher: {{ doc.publisher }}
#### La page d'accueil
Frappé permet l'inscription et inclut les inscriptions via Google, Facebook et Github. Quand un utilisateur s'inscrit via
le web, il n'a pas accès à l'interface du desk par defaut.
> Pour autoriser les utilisateurs à accéder au `Desk`, ouvrez la configuration de l'utilisateur (Setup > User) et définissez
le type d'utilisatuer à "System User".
Pour les utilisateurs qui n'ont pas accès au `Desk`, nous pouvons définir une page d'accueil ou ils peuvent se connecter via
`hooks.py` le tout en respectant les rôles.
Quand un membre de la librairie se connecte, il doit être redirigé vers la page `article` donc ouvrez le fichier `library_management/hooks.py` et ajoutez:
role_home_page = {
"Library Member": "article"
}
{next}