# Introduction

`Zend_Navigation` est un composant gérant arbres et menus pour les pages webs. Il permet de créer des menus, des fils, des liens et des cartographies de sites (sitemaps), ou encore toute autre représentation concernant la navigation.

## Pages et Conteneurs

Deux concepts existent dans `Zend_Navigation`:

### Pages

Une page (`Zend_Navigation_Page`) dans `Zend_Navigation` – dans sa forme la plus simple – est un objet pointant vers une page web. En plus d'un pointeur vers une page web, l'objet page contient d'autres informations utiles à la navigation comme un label, un titre title, etc.

Pour plus d'informations sur les pages, lisez leur section.

### Conteneurs

Un conteneur de navigation (`Zend_Navigation_Container`) est une classe contenant des pages. Elle possède des méthodes pour ajouter, supprimer, récupérer et itrérer au travers de pages. Elle implémente les interfaces de la SPL `RecursiveIterator` et `Countable`, et peuvent ainsi être parcourues avec les itérateurs de la SPL tels que `RecursiveIteratorIterator`.

Pour plus d'informations sur les conteneurs, lisez leur section.

`Zend_Navigation_Page` étend `Zend_Navigation_Container`, ce qui signifie qu'une page peut posséder des sous-pages.

## Séparation des données (modèle) et du rendu (vue)

Les classes dans `Zend_Navigation` ne s'occupent pas du rendu visuel, celui-ci est effectué par des aides de vue. Par contre, les pages peuvent contenir des informations utilisées par les aides de vue comme un label (libellé), une classe CSS, un titre (title), des attributs lastmod et priority pour les sitemaps, etc.

Pour plus d'informations sur le rendu des éléments, lisez leur section.