# Ce que Data Views permet, qu’un tableau d’administration ne permettait pas

> Définition, fonctionnement interne et cas d'usage de cette interface introduite en 2023 pour gérer templates, patterns et pages, au-delà de l'effet de mode qui l'entoure parfois.

- Auteur : Clément Hadrot
- Publié le : 2025-10-27
- Mis à jour le : 2025-10-27
- Catégorie : FSE
- URL : https://wpmoderne.dev.wordpress-developpement.fr/fse/data-views-apport-reel-tableau-administration/

## L’essentiel

- Une interface de composants, pas un simple tableau
- Vues multiples sur une même collection
- Des pièges de performance à connaître

Trois lettres suffisent souvent à faire naître le scepticisme : encore une nouvelle interface, encore un effet de mode côté outillage d'administration. Pourtant, Data Views ne remplace pas `WP_List_Table` par caprice esthétique : l'ancien tableau d'administration ne permettait ni changement de type de vue, ni filtrage combiné sans rechargement de page, ni personnalisation des colonnes affichées sans toucher au code PHP.

Introduite en 2023 dans l'écosystème de l'éditeur de site pour gérer templates, modèles de parties et pages, cette interface mérite qu'on comprenne précisément ce qu'elle change, plutôt que de la classer trop vite comme une simple couche visuelle supplémentaire.

## Définition : une collection de composants React, pas un widget isolé

Data Views regroupe un ensemble de composants du paquet `@wordpress/dataviews`, pensés pour afficher n'importe quelle collection de données selon plusieurs types de vue : tableau classique, grille de cartes visuelles, ou liste condensée. La bascule d'une vue à l'autre se fait sans rechargement, et l'état de la vue (tri, filtres, colonnes visibles) se conserve d'une navigation à l'autre au sein de la même session.

## Fonctionnement interne : configuration déclarative plutôt que génération de HTML

> L'essentiel à retenir : Une interface de composants, pas un simple tableau ; Vues multiples sur une même collection ; Des pièges de performance à connaître

Contrairement à `WP_List_Table`, qui génère du HTML côté serveur ligne par ligne, Data Views fonctionne par configuration déclarative côté client : un objet JavaScript décrit les champs disponibles, les filtres possibles et le tri par défaut, puis le composant se charge du rendu et de l'interactivité.

```
const champs = [
    { id: 'title', label: 'Titre', enableSorting: true },
    { id: 'status', label: 'Statut', type: 'text' },
    { id: 'date', label: 'Date', type: 'datetime' },
];

const vue = {
    type: 'table',
    perPage: 20,
    sort: { field: 'date', direction: 'desc' },
    fields: [ 'title', 'status', 'date' ],
};
```

Cette configuration alimente le composant `DataViews`, qui gère lui-même la pagination, le tri interactif et le rendu des différentes vues, sans que le développeur ait à écrire de logique de rendu HTML supplémentaire pour chaque type d'affichage.

## Cas d'usage : au-delà de la gestion des templates

Data Views sert nativement à l'écran de gestion des pages, des templates et des modèles de parties dans l'éditeur de site, mais son usage s'étend à tout écran d'administration personnalisé qui a besoin de tri et de filtrage flexibles : une liste de commandes, un annuaire de membres, un catalogue de références internes. Le composant reste agnostique du type de contenu affiché, tant que les données sont exposées via l'API REST.

- Basculer entre vue tableau et vue grille selon le contexte de consultation, sans développement supplémentaire.
- Filtrer une collection selon plusieurs critères combinés, avec une interface de filtres déjà prête à l'emploi.
- Personnaliser les colonnes visibles par utilisateur, sans modifier le code de l'écran d'administration.

## Les pièges à connaître avant de généraliser l'usage

Data Views charge l'intégralité des composants nécessaires côté client, ce qui alourdit le poids JavaScript de l'écran d'administration concerné. Sur une collection de plusieurs milliers d'éléments, sans pagination correctement configurée côté requête, le navigateur peut se retrouver à traiter un volume de données disproportionné, avec un ralentissement perceptible de l'interface.

> Une interface flexible ne dispense jamais de réfléchir au volume de données qu'elle doit afficher : la pagination reste la première ligne de défense contre la lenteur.

## Ce qu'il ne faut pas en attendre

Data Views reste un outil d'administration interne. Il ne constitue pas une solution d'affichage public de catalogue, et son usage pour présenter des données à un visiteur du site relève d'un choix distinct, généralement porté par une Query Loop plutôt que par ce composant pensé pour le back-office.

## En résumé

L'apport réel de Data Views tient dans sa flexibilité de configuration et sa capacité à proposer plusieurs types de vue sur une même collection, sans réécrire de logique de rendu à chaque nouvel écran d'administration. Ce n'est ni un simple relooking de `WP_List_Table`, ni un outil miracle : c'est une brique déclarative qui demande, comme toute interface riche, une attention particulière au volume de données qu'elle manipule.
