Voilà, voilà... Fin de l'aventure...

 

Fermeture de kolossaldrupal.org dans...


Bonjour tout le monde,

Drupal évolue, les versions changent et Kolossaldrupal.org était essentiellement consacré à la version 6 de Drupal.

Autant dire que les infos présentées ici commencent à dater...

Faute de temps, je ne peux plus garder le site Kolossaldrupal à jour...

Je vous aurais bien proposé de reprendre le flambeau mais... c'est tellement simple de nos jours de se faire son propre site à soi...Pourquoi s'embêter alors ? :-)

Ce site restera donc en l'état, tel qu'il était en 2011...

Ah la la ! Cela ne nous rajeunit pas !

Manuel Vila - Avril 2016

Un site Drupal, étape par étape, partie 3 sur 6

Référence en espagnol sur Cuenco Digital : http://cuencodigital.com/articulos/un_sitio_en_drupal_paso_paso_parte_3.html
9 Février 2009


Dans cet article, il est question d'un type de contenu Articulo, que je traduis ici par Billet, pour éviter toute confusion avec le type de contenu Article de la version française de Drupal.

Kolossaldrupal.

Dans l'article précédent, j'ai expliqué les premières étapes pour une installation et une configuration basique de Drupal.

Dans cet article, je parlerai de l'installation et du paramétrage des modules qui ont apporté la plupart des fonctionnalités de Cuenco Digital.

Les essentiels

CCK et Views sont deux modules très populaires parmi ceux qui travaillent régulièrement avec Drupal.

CCK est le Kit de Construction de Contenus, son rôle est de créer des types de contenus. On peut définir un type de contenu comme étant un ensemble de données qui se reconnaissent par leur organisation.

Par exemple, dans ce site, un billet est un type de contenu, les nouvelles sont un autre type de contenu et une page statique encore un autre. Ce ne sont pas les mêmes choses puisqu'un billet contient une date, un auteur, un résumé, une liste de billets connexes, et une nouvelle ne contient pas ces champs-là. De fait, le type de contenu est étroitement lié à la perception que le concepteur du site aura de l'information. Autrement dit, les concepts « nouvelle », « billet » et « vidéo » correspondent à des groupes de données différentes, et on les représentent donc par des types de contenus différents.

En outre, CCK permet de définir quels seront les champs que contiendra un type de contenu. Un champ est comme un casier dans lequel on met une information. Ce peut être un nombre, une adresse e-mail, le lien d'une page web, une vidéo, des codes postaux ou plein d'autres choses encore.

Views est un module qui fait des listings. Les listes de données de ce site utilisent Views pour faire le listing des billets, des vidéos, des nouveautés, et tout autre type de liste souhaitée.

Télécharger et installer un module

Les modules se téléchargent depuis le site officiel de Drupal : www.drupal.org/project/Modules.

Une fois le téléchargement effectué, un module peut être décompressé et installé dans l'un de ces trois dossiers :

  • drupal/sites/all/modules
  • drupal/sites/www.exemple.com/modules
  • drupal/modules

(ici, drupal désigne le dossier racine de votre installation. NdK)

S'il est installé dans l'un de ces trois dossiers, le module sera reconnu par Drupal. Cependant, la troisième option n'est pas conseillée car elle compliquera la réalisation des mises à jour futures.

Concernant les deux premières options, on choisira la première si le module est partagé par plusieurs sites dans le cadre d'une installation Drupal multi-site sur le même serveur. On choisira la seconde si le module n'est utilisé que par le site indiqué (en l'occurrence www.exemple.com).

Tous les modules Drupal s'installent de la même façon :

  • On les télécharge depuis drupal.org,
  • On les décompresse dans le dossier modules indiqué
  • On les active sur la page Administrer >> Construction du site >> Modules

p3-1.png

Paramétrer CCK

Comme je le disais précédemment, CCK permet de créer des types de contenus. On commencera par créer trois nouveaux types de contenus, billets, nouvelles et vidéos.

p3-2.png

Si vous regardez bien cette liste, il y a deux types de contenus supplémentaires. Page, est créé par Drupal au cours de son installation, et Sujet de discussion est automatiquement créé par le module Forum.

Chaque type de contenu possède une série de champs qui l'identifie. Si on prend par exemple le type de contenu Billet, ces champs sont Résumé, Date de parution, en plus des champs communs à tous les types de contenus : le Titre et le Corps.

Petite explication :

Il n'est pas nécessaire qu'un type de contenu possède des champs différents pour qu'il se différencie d'un autre type de contenu. On pourrait très bien avoir des types de contenus Page et Histoire et qu'ils utilisent tous deux un titre et un corps.

Ce qui distingue un type de contenu par rapport à un autre c'est ce que l'on veut exprimer avec.

Quoiqu'il en soit, je crois que ces différences sont plus compréhensibles pour les nouveaux utilisateurs de CCK.

Chaque champ est généralement géré par un module spécifique. Par exemple, le module Date fournit toute une série de fonctions pour travailler avec les champs de type date. Les validations, les calendriers dépliables, les façons d'afficher la date, etc, sont gérés par ce module Date.

Les modules qui interagissent avec CCK sont généralement localisés dans le groupe CCK de la page de modules. L'illustration suivante montre les modules installés dans ce site (Cuenco Digital) :

p3-3.png

Chaque type de contenu permet de paramétrer les champs qu'il affichera. Le type de contenu Billets possède un titre, un corps, un champ de type texte et un champ de type date. Drupal 6 nous vient avec un système d'agencement dynamique des champs des tables, ce qui veut dire que pour choisir l'ordre des champs dans le formulaire de création d'un Billet, il suffit de faire glisser et relâcher les champs selon l'ordre voulu.

p3-4.png

La façon d'ajouter et de configurer les champs de chaque type de contenus étant plutôt intuitive, je ne l'expliquerai pas dans le détail.

Paramétrer Views

Le site doit fournir une voie d'accès aux billets qui soit simple. Idéalement, il devrait afficher le titre du billet et son résumé. Pour cela, j'utiliserai Views.

Views est un module qui permet de créer de façon souple des listings de données. On peut le définir comme un outil permettant de faire des requêtes SQL sur une base de données grâce à une interface graphique.

Nous commencerons par créer une nouvelle vue. Allons dans Administrer > Construction du site > Views. Un onglet Ajouter une vue est affiché.

Pour ceux qui abordent Drupal pour la première fois, l'interface de Views peut sembler intimidante (je l'avoue, ce fut le cas pour moi la première fois que je l'ai vue). Je n'expliquerai pas ici le sens de chaque section, ce sera l'objet d'un autre article. Ce que je ferais par contre, c'est expliquer comment j'ai paramétré la vue utilisée dans les billets.

Avant de poursuivre, je voudrais dire quelques mots sur les versions de Views disponibles pour Drupal. Il y a quelques mois, lorsque j'ai écrit ce même billet pour Drupal 5, il m'a fallu presque trois pages A4 pour expliquer le paramétrage d'une vue. Malgré les copies d'écran expliquant les différents paramétrages, le processus restait complexe à appréhender. Avec la nouvelle version de Views pour Drupal 6, Earl Miles et les développeurs de Views ont vraiment fait un travail extraordinaire. Toute l'interface tient sur une page qui s'actualise avec AJAX et facilite grandement la création des vues.

Lorsqu'on crée une nouvelle vue, on doit fournir quelques renseignements. Dans la première section, le nom identifiant la vue et la description. Il faut également indiquer le principal type de données que la vue va manipuler. Dans notre cas, je sélectionne les nodes puisqu'il s'agit de vues sur des contenus.

p3-5.png

Dans Views 1.x (pour Drupal 5), on aurait dû créer une vue pour les billets et une autre pour les vidéos. Views 2.x permet de créer un affichage principal puis des affichages supplémentaires, personnalisés, à partir de l'affichage principal. Certains aspects de la vue sont donc communs à tous les affichages, tandis que d'autres sont personnalisés au sein des affichages supplémentaires. La maintenance des vues s'en trouve grandement facilitée et bien employé, cela facilite également les taches de theming que nous aborderons ensuite.

Le paramétrage principal de la vue

L'image ci-dessous illustre comment la section default de la vue est paramétrée. Cette section est comme une vue parent et les utilisateurs ne peuvent pas la voir directement. Elle fonctionne néanmoins comme une matrice pour les autres affichages qui seront ajoutés et qui hériteront alors de son paramétrage.

p3-6.png

Paramètres de base : on configure ici les paramètres globaux de la vue. Combien d'enregistrements seront affichés, le titre de la page, la façon d'agencer les champs (Table, Grille, Nodes complets, etc), si on utilise AJAX ou pas pour passer d'une page à l'autre, l'entête, le pied de page et le texte à afficher s'il n'y a pas de contenu disponible pour la vue.

Relationships: dans ce site on n'utilise pas de relations. Elles feront l'objet d'un autre billet (une vidéo à ce sujet est disponible - en espagnol). En quelques mots, on utilise les relations pour lier des objets différents via un champ commun. Par exemple, on pourrait lier un node à un utilisateur en utilisant la référence à un utilisateur (User Reference de CCK). Et les données de cet utilisateur seraient automatiquement disponibles dans cette vue, sous la forme d'une colonne supplémentaire dans une table.

Arguments : on ne les utilise pas non plus dans ce site (Cuenco Digital). Les arguments permettent de passer des paramètres à la vue, généralement via l'URL.

Champs : tous les listings contiennent des données. Les champs représentent une partie de ces données. Dans notre vue, on souhaitera montrer : le titre, la date et le nombre de commentaires de chaque node.

Critères de tri : le critère pour trier les données affichées. Dans notre cas, il s'agira de la date indiquée dans le champ field_date, par ordre décroissant (c'est à dire, les plus récentes en premier).

Filtres : les filtres définissent les conditions auxquelles les objets devront répondre pour être affichés dans le listing (en l'occurrence, ici les objets sont les nodes). Pour cette vue, le node devra être publié et il devra être d'un type donné (bien que l'on n'indique pas lequel dans la vue par défaut).

Une question surgit maintenant : comme Views sait-il qu'il ne doit afficher les vidéos que dans la page des vidéos et les billets dans la page des billets ? La réponse est : en supplantant l'affichage.

Supplanter les valeurs par défaut

Dans le coin supérieur de l'image précédente, on peut voir trois rectangles.

p3-7.png

Chacun des rectangles inférieurs représente une instance de la vue. Je préfère les nommer instance car c'est parlant pour l'utilisateur final. Souvenons-nous que la vue par défaut n'est pas accessible. Les instances peuvent être de types différents. Dans ce cas il s'agit de pages HTML. Mais ce pourrit être des blocs, ou des feeds RSS, chacun ayant des propriétés différentes.

Une fois que les deux affichages sont ajoutés (Displays) Views demande que nous indiquions leurs path. Voici donc la première différence entre les affichage. L'un d'eaux aura billet comme path et l'autre video.

Ensuite, pour chaque affichage, on peut décider de modifier ou de laisser tel quel les paramètres de la vue principale. L'exemple le plus parlant concerne la valeur Type de contenu du groupe des Filtres. L'affichage pour les billets filtrera les nodes du type de contenu billets et celui pour les vidéos le type de contenu videos.

p3-8.png

Les filtres se différencient des filtres appliqués par défaut en cliquant sur le bouton Supplanter l'affichage qui apparaît sur la partie supérieure droite de la zone de configuration de chaque paramètre.

p3-9.png

Avec cet agencement, il est possible de créer plusieurs listings à partir d'un tronc commun pour lesquels les personnalisations seront appliquées au cas par cas.

Résumé

Jusqu'à Drupal 5, il n'était pas possible de partager des paramètres entre les vues. On avait le clonage des vues, mais cela impliquait de mettre chaque vue à jour si on modifiait un paramètre commun.

Avec Drupal 6 et la version 2.x de Views, il est possible de créer une vue par défaut. Ensuite, chaque affichage, c'est à dire la façon de présenter les données à l'utilisateur (sous forme de bloc, de page ou sous une autre forme), permet de définir les caractéristiques individuelles et celles partagées.

Les filtres, les champs, l'ordre de tri, l'entête ou même le titre du listing peuvent être partagés ou supplantés, ce qui facilite grandement la maintenance des vues pour peu qu'elles soient bien planifiées.

Les derniers détails du paramétrage des listings concernaient la création de deux menus dans la section, Liens primaires, qui apparaissent automatiquement dans la partie supérieure du site.

ceci termine cet article. La puissance et les diverses possibilités offertes par ces modules sont facilement perceptibles, ce n'est pas pour rien qu'il s'agit des modules les plus utilisés et téléchargés par les développeurs de sites Drupal.

Dans le prochain article, nous verrons comment traiter l'aspect visuel du site.

Mariano D'Agostino - Cuenco Digital