Le contrôleur d'entité Dans le hook entity_info, nous avons déclaré que nous utiliserions notre propre classe contrôleur. Autrement dit, nous devons à présent en fournir une. Toutefois, une classe contrôleur n'est pas nécessairement petite et, si elle n'est utilisée qu'à de rares occasions, il n'est pas souhaitable d'analyser ce code sur toutes les pages.
Engagements
- En respect de nos valeurs de Proximité, nous travaillons uniquement dans la Zone : Paris-Lille-Bruxelles
- Un travail exclusivement sur le CMS DRUPAL et sur aucune autre technologie
- Une assistance téléphone 5j/7 de 9h à 18h
Publications
Concevoir un site Drupal 7
Blog
Concevoir un site Drupal 7 13 janvier 2012

« Pourquoi faire compliquer quand on peut faire Drupal ? »
—Forest Mars (kombucha)
Cet article est un extrait traduit par Cécile Joffrin du livre "The definitive guide to Drupal 7". Il a été écrit par Benjamin Melançon, Dan Hakimzadeh et Dani Nordin. Ce livre est disponnible à cette adresse : http://www.apress.com/9781430231356
Ce livre accélèrera la progression de votre courbe d’apprentissage Drupal en couvrant tous les aspects de la conception de sites Web avec Drupal 7 : architecture et configuration, développement de modules, développement front-end, exécution durable de projets et contribution au code, à la documentation et à la communauté Drupal.
Qu’y a-t-il de mieux pour commencer que de concevoir un site complet dès le premier chapitre ? Vous passerez de 0 à 60 km/h (ou 100 km/h, le cas échéant) en 27 pages. Dans les chapitres suivants, vous ajouterez des turbocompresseurs avec les pages dynamiques, à l’aide des Affichages, des bandes décoratives à l’aide des thèmes et des porte-gobelets avec JQuery.
Vous réaliserez également quelques manœuvres étonnantes à l’aide de Commerce, entre autres. Au fil du livre, nous essaierons de vous guider vers la méthode Drupal. Il y existe toujours plusieurs voies à suivre pour atteindre un objectif, mais certaines approches ignorent, voire même contredisent, les propositions de Drupal.
La méthode Drupal, au contraire, correspond à toutes les méthodes qui tirent parti des forces de Drupal. Le site que vous allez concevoir au fil de ce chapitre permettra aux utilisateurs de créer et de classer leur contenu facilement. Le scénario n’est pas hypothétique. Ce livre a besoin d’un site Web et vous allez le concevoir ! Vous :
- utiliserez une approche de base pour planifier la conception d’un site ;
- installerez Drupal 7 ;
- configurerez la base de Drupal afin de fournir un site destiné à établir une collaboration et qui accepte du contenu et des commentaires de la part de ses auteurs et visiteurs ;
- donnerez au site et à sa page de garde une combinaison de contenu statique (semi-permanent) et de nouvelles mises à jour ;
- donnerez aux auteurs et visiteurs plusieurs niveaux d’accès pour l’ajout de contenu et sa modification.
Ce n’est que le premier chapitre, donc attachez vos ceintures !
Planification : définir les paramètres et savoir où vous allez
Avant de vous embarquer pour un projet, quel qu’il soit, vous devez avoir une petite idée de ce qu’il concerne, au moins pour pouvoir définir certains paramètres concernant votre embarcation. Le secret dela réussite réside dans la définition d’attentes. (Consultez le chapitre 9 pour plus d’informations sur la planification et la gestion à l’aide d’une approche agile.)
Découverte : Pourquoi est-il nécessaire de concevoir ce site ?
Lorsque vous lancez un projet, la première chose à laquelle vous devez réfléchir ne concerne pas comment le réaliser, mais pourquoi. Toutes les réponses concernant l’implémentation doivent être issues de la compréhension de l’objectif du projet. Le processus de découverte de cet objectif est la « phase de découverte » d’un projet, définie dans l’introduction de ce livre et détaillée dans le chapitre 9.
■Astuce Même si elle est évidente, la phase de découverte, cruciale, est parfois un peu négligée. Même un site Web conçu uniquement pour vous-même doit commencer par la définition de vos objectifs. Ignorer cette étape peut entraîner la répétition de toutes les autres phases à mesure que la compréhension des besoins évolue et que de nouveaux besoins sont découverts, plus tard dans le processus.
Demander les objectifs du site à ses initiateurs (auteurs) vous permet de découvrir qu’ils souhaitent que le grand public en sache plus sur leur livre, The Definitive Guide to Drupal 7, et qu’ils veulent que le site facilite la conversation et la collaboration entre plusieurs auteurs, lecteurs et « drupalistas » intéressés.
Globalement, le site Web DefinitiveDrupal.org (ci-après, « le site DGD7 ») doit compléter les objectifs du livre, notamment :
- Donner à des gens de tous niveaux de compétence des voies d’accès pour faire des miracles avec Drupal.
- Aider les gens à apprendre de manière autonome.
- Encourager les personnes intéressées par le logiciel Drupal à participer à la communauté grâce à laquelle le logiciel existe.
Sans acheteurs, le livre ne peut pas atteindre ses objectifs. Par conséquent, tous les visiteurs du site Web doivent pouvoir lire les informations de base relatives au livre, du contenu sélectionné et du contenu supplémentaire, ainsi que les informations d’achat du livre. Les auteurs doivent être en mesure d’ajouter, de modifier et d’organiser ces informations. Les visiteurs doivent pouvoir suggérer des idées à inclure dans le livre ou dans ses futures versions. Par la suite, les lecteurs du livre devront être en mesure de commenter ou de poser des questions sur certains chapitres. (Ces formes d’interaction plus structurées sont plus durables pour les auteurs qu’un formulaire de contact ou un forum à l’échelle du site). Le site doit pouvoir être étendu par de nouvelles fonctionnalités, ainsi que par du nouveau contenu, et les visiteurs doivent pouvoir souscrire à des mises à jour lors de l’ajout de nouvelles informations importantes sur Drupal.
■Astuce L’origine des ressources constitue également un point sur lequel les concepteurs d’un site doivent s’interroger. Qui va financer le projet : en temps, en ressources et en argent ? Quiconque est impliqué dans la conception doit avoir une idée de ce qu’il est possible d’accomplir grâce au financement et ce qui peut être atteint grâce au bénévolat.
Architecture de l’information : Qu’allez-vous concevoir exactement ?
Une fois l’objectif d’un projet bien compris, il est temps de passer à l’étape suivante : l’architecture de l’information. La découverte répond à la question Pourquoi ? L’architecture de l’information répond à la question Quoi ? Cette phase est parfois également appelée « spécifications » ou « architecture du site ». En général, l’architecture de l’information consiste à rédiger les exigences fonctionnelles et à dessiner les représentations filaires.
Les exigences fonctionnelles comprennent chaque petit élément que le site doit réaliser et la manière dont chacun d’entre eux va s’adapter aux autres, aussi clairement et succinctement que possible. Les représentations filaires sont des esquisses rapides de l’emplacement des liens, des formulaires, des fonctionnalités, des menus, du contenu et de tout le reste sur les pages ou au sein des sections clés du site.Ensemble, les exigences fonctionnelles et les représentations filaires indiquent précisément ce que le site doit réaliser. Sur la base des objectifs vagues établis au cours de la phase de découverte, vous pouvez demander aux initiateurs ce qu’ils veulent sur leur site. Vous devez filtrer leurs requêtes en fonction des objectifs déjà établis.
Avec le site DGD7, les requêtes vont de la création d’un outil d’annotation paragraphe par paragraphe à la conception d’un site Web qui ressemble, dans son intégralité, à un livre. C’est à ce moment précis que vous devez apprendre, et utiliser, la technique de développement Web la plus importante : dire non.
■Astuce Dans le développement Web, à la question « De quoi avez-vous besoin ? », on obtient souvent une réponse du style : « J’ai besoin d’un poney tout en 3D bondissant autour de l’écran et que chaque clic sur ce poney ajoute une tasse de chocolat chaud au panier. Et j’en ai besoin d’ici mardi. » C’est à vous qu’il revient de dire non et d’aider les gens à hiérarchiser leurs idées afin de les aligner sur leurs objectifs et ressources.
En tant que développeurs Drupal, il est très tentant de dire oui à tout, car tout, ou presque, est possible avec Drupal. Le mot manquant est « finalement ». Pour le bonheur de chacun, il est recommandé d’aider les initiateurs du site à garder leur vision en tête et à concevoir des fonctionnalités du site Web qui atteignent cette vision avant tout.
Les exigences doivent s’intégrer dans une stratégie visant à atteindre ce que les initiateurs du site veulent accomplir. Expliquez-leur que le temps et les ressources ne sont pas infinis : oui, tout ou presque est possible avec Drupal, mais pas tout d’un coup. Étant donné l’objectif global, quelles sont les parties les plus importantes du site ? Où se situe la priorité ?
En n’oubliant pas cela, nous pouvons établir une liste d’exigences fonctionnelles pour le site correspondant à notre livre :
- Les visiteurs verront un énoncé de mission imposant sur la page de garde du site.
- Les auteurs seront en mesure de modifier et de réorganiser une table des matières publique, incluant des sommaires facultatifs par chapitre.
- Les auteurs seront en mesure de publier des ressources en rapport avec leurs chapitres et reliées au sommaire de leur chapitre dans la table des matières.
- Les visiteurs enregistrés seront en mesure de commenter les ressources individuelles associées à un chapitre.
- Les visiteurs enregistrés seront en mesure de partager leurs idées pour le livre, telles que des astuces ou des avertissements, des anecdotes sur Drupal ou des concepts à traiter.
- Les publications et commentaires des participants les plus récents seront visibles dans une colonne latérale sur chaque page du site.
- Les auteurs et les autres participants seront en mesure de classer le contenu afin de créer des liens et une organisation dans tout le site.
- Après publication, les lecteurs pourront s’enregistrer et participer à des discussions (regroupées par chapitre), découvrir de nouvelles documentations et laisser leurs commentaires.
Les exigences fonctionnelles sont souvent plus spécifiques que celles-ci, mais nous diviserons ces exigences générales à mesure que nous implémenterons chaque fonctionnalité. (Notez que toutes ces fonctionnalités ne seront pas conçues dans cechapitre.)
Une fois les exigences fonctionnelles terminées, il est temps d’utiliser les représentations filaires pour suggérer une structure visuelle simple pour les données du site Web (cf. Figure 1–1). Il s’agit d’une phase importante du stade de développement initial, car elle définit visuellement les exigences, indique la manière dont elles sont liées les unes aux autres et aide à développer l’interface utilisateur du site. Au minimum, les représentations filaires vous permettent de rester honnête sur ce qu’une page donnée peut contenir.

Figure 1–1. Esquisse de représentation filaire brossée sur une nappe. Le chapitre 9 comprend les ressources nécessaires pour réaliser de belles représentations filaires, mais ces dernières peuvent également tout simplement être esquissées à la main.
Si vous vous efforcez de réaliser les représentations filaires au cours d’une première étape indépendante, vous serez certain de ne pas fermer la porte trop tôt à d’autres options. Avec Drupal, il est très facile de passer de la planification de ce qui doit être fait à la planification de la manière dont il faut le faire, ou même au début de la configuration. Drupal peut être (et c’est souvent le cas) utilisé comme un outil de prototypage rapide, mais la division des phases doit être respectée : pas de conception de site pour le moment. En effet, au stade de l’architecture de l’information, l’utilisation de Drupal pour concevoir le site ne doit pas encore être considérée comme un fait accompli.
■Astuce Les auteurs adorent Drupal, mais même eux peuvent admettre qu’utiliser Drupal pour un site monopage est complètement démesuré.
Ce livre est publié par Apress. Pour plus d'informations ou pour se procurer ce livre : le site d'Apress

Marc Delnatte
Marc DELNATTE est gérant de AKABIA, agence web spécialisée dans le développement Drupal. L’agence, située dans la métropole lilloise, dispose d’une équipe experte sur le CMS Drupal avec une solide expérience en SEO.
















