Spécifier pour Drupal : le sitemap

le 3 Mars 2014, par Stéphane

Example de plans du site - Breek

Avez-vous remarqué ? Le plan du site est toujours absent des livrables qu'on vous fournit pour spécifier le projet dont vous avez la charge. Comment peut-on concevoir un site sans avoir de vision d'ensemble et de stratégie d'URL ? Mystère !

Il y a quelques années, c'était le premier livrable d'un projet. Et comme je suis un vieux1, j'ai mes habitudes. Je vous propose donc de commencer nos spécifications par... un plan du site bien sûr !

3 bonnes raisons de commencer par le sitemap

C'est d'autant plus important que Drupal fonctionne essentiellement avec des URLs prédictives. Par exemple, pour ajouter un article, on sait qu'il suffit de saisir /node/add/article. Ou pour éditer le compte d'un utilisateur /user/[uid]/edit.

On sait aussi que Google aime pouvoir remonter les URLs d'un site. Par exemple, si votre site propose monsite.com/articles/[article:title], Google souhaitera remonter à monsite.com/articles et y trouver la liste des articles.

Enfin, les outils de statistiques aiment bien s'appuyer sur des URLs précisent pour affiner les comportements à l'intérieur des pages.

Pour toutes ces raisons et bien d'autres que nous n'avons pas le temps d'aborder ici, un plan du site -même partiel- est vital AVANT de commencer à spécifier.

Le modèle

Example de plan du site - Breek

Le modèle que nous utilisons n'a rien de spécifique à Drupal. Il reprend les différents niveaux logiques vus par l'utilisateur, et précise le template et l'URL correspondants.

Level 1 to 4

Le but ici est double :

  • lister le menu tel que le voit l'utilisateur (attention aux faux niveaux qui n'existent pas mais qui doivent bien être décris !) ;
  • décrire la structure technique du site où 1 niveau = 1 URL = 1 template.

Template

On ajoute une cross-reference vers le template utilisé. Simple et efficace.

URL

Cette colone permet d'expliquer la structure logique de chaque URL et de l'illustrer. Continuons avec notre exemple précédent.

Logique :

[root]/[menu:item(1)]/[article:title]

Exemple :

monsite.com/articles/le-titre-de-mon-article

Evidemment, [menu:item(1)] pourrait être le path d'une vue ou tout autre élément en fonction du fonctionnel de votre projet. Cela pourrait aussi être un texte en dur.

Dans le cas d'un mega menu proposant une liste d'articles contenus dans des dossiers, on pourrait avoir quelque chose comme ça :

Logique :

[root]/[menu:item(1)]/[article:title]#![menu:item(1)]/[folder:title]/[folder:articles:article:title]

Exemple :

monsite.com/articles/le-titre-de-mon-article#!Dossiers/le-titre-de-mon-dossier/le-titre-de-l-article-survole

Ressources

 A qui s'adresse cet article ?
  • AMOA
  • Consultant AMOA
  • Expert Drupal
  • Chef de projet Drupal
  • Développeur Drupal

  1. J'ai commencé à gérer des projets de sites web en 1998 et connu Drupal en 2007 ↩︎


comments powered by Disqus