Drupal c'est de la cuisine...





Cela paraît "nunuche", mais en formation, il est important de trouver des analogies auxquelles le participant peut se raccrocher facilement pour comprendre les termes employés, les concepts, les contextes etc.

Je précise, je ne suis qu'un "passeur" et j'amène les gens vers Drupal, ce qu'il en font est leur responsabilité par la suite...

Je n'ai pas la prétention d'être un "développeur Drupal". Je le suis, mais l'objectif de ce site - je le rappelle - n'est que de partager mon expérience de formateur.

OK je précise aussi que certaines analogies ne sont pas top top mais sont suffisantes pour la compréhension.

Qu'est ce qu'un grand restaurant ?

Je parle d'un restaurant qui implique une grosse dizaine de personnes "partie prenantes" du projet, une ou deux étoiles au Guide Michelon etc. Quoique le "kebab" du coin avec une personne en cuisine et une personne en salle suivrait la même logique mais mon analogie serait plus difficile à expliquer...

Il y a une partie privée

Pour faire chic on peut dire aussi "backoffice"...

Dans cette partie se trouvent des "contributeurs" qui ont des rôles et des droits bien définis et bien identifiés :
Pour résumer, les super chefs, les chefs, les sous chefs et etc.
Dans la "brigade" d'un grand restaurant on ne mélange pas le chef qui s'occupe des menus et des approvisionnements et celui qui "épluche les pommes de terre"...

Par exemple, il y a ceux qui s'occupent du "chaud" et ceux qui s'occupent du "froid" et ce n'est pas le même métier.

En régle genérale en cuisine (partie privée) et lors du "coup de feu" c'est le bazar, tout le monde court dans tous les sens mais au niveau de la salle (partie publique) cela ne ce voit pas et donc le client (l'internaute) s'en moque...

Sous Drupal c'est la même philosophie, il y a le "super chef" (le compte de maintenance - celui qui a installé le site). Il décide qui fait quoi ?
"Toi tu peux faire ceci mais pas cela, et toi tu peux faire cela mais pas ceci..." C'est la notion de profil et de droit d'action sur le contenu du site.

Bon bref, vous avez compris...

Le restaurant propose des plats et le site web du contenu - et c'est exactement la même logique.

Il y a une partie publique

Pour faire chic on peut dire aussi "frontoffice"... Il s'agit de la salle de réception du restaurant.

Les clients (les internautes pour un site web) sont là pour passer une bonne soirée, bien manger dans une atmosphère cool et sympa avec de belles nappes, un service irréprochable, avec de belles jeunes femmes qui se mettent en quatre pour que le client (internaute) soit content (n'oublions pas que l'argent du restaurant est dans la poche du client au départ et à la base...). On parlerais ici de la notion d'interface web, la charte graphique, la couleur des rideaux, la couleur des nappes, la feuille de salade ou la ligne de vinaigre balsamique autour du plat (cela ne sert à rien mais c'est joli) etc. bref tout ce qui va faire que le plat (contenu) sera présenté correctement au client de façon à ce qu'il soit satisfait.

Comment avez-vous trouvé ce plat (contenu) monsieur le client (internaute), et était-il à votre goût ?
Ah oui sublime j'ai apprécié...

Note concernant la notion d'utilisateur

C'est un peu subtil mais - en théorie - on devrait bannir le mot "utilisateur" du vocabulaire.
Effectivement un "utilisateur" est-il partie prenante de la partie privée ou de la partie publique ?

Personnellement j'aime bien les termes "contributeur" pour la partie privée du site et "internaute" pour la partie privée.
De cette façon il n'y a pas d'ambiguïté...

Qu'elle est l'objectif du restaurant ?

1 - Que le client soit content
2 - Que le client revienne
3 - Que le client conseille l'endroit à ses ami(e)s

Pour un site web c'est la même chose, il suffit de remplacer le mot client par internaute...

La notion de contenu

Le restaurant propose des plats aux clients.
Analogie avec Drupal : un plat = un contenu

Il existe différents types de plat : entrée, plat principal, dessert...
Analogie avec Drupal : un type de plat = un type de contenu : article, fiche de membre, fiche de l'association etc.

Un plat contient des constituants, exemple pour une viande : quelle viande, quel accompagnement, quelle sauce ?
Analogie avec Drupal : un type de contenu : contient des champs : nom, prénom, corps du contenu, images ou fichiers attaché(e)s

La taxonomie

Exemple pour le plat "une viande" : la cuisson (saignant, à point, bien cuit... ?)
Analogie avec Drupal : la "version" du plat est qualifié par un vocabulaire de taxonomie qui est "cuisson". Ce dernier comporte 3 termes de taxonomie (saignant, à point, bien cuit).

Pour faire simple, nous avons un plat (type de contenu) viande (qui est unique) mais désormais (je suis le serveur) je sais que cette viande (saignante) est destinée à la table 4 et cette autre viande est destinée à la table 8 et la cuisson n'est pas la même.
Mon type de plat (contenu) viande est désormais "qualifié", il y a un "truc" (probablement un pipick en plastique en cuisine) qui est capable de "faire la différence" entre un plat (type de contenu) qui est au départ identique mais qui sera différent au niveau de la présentation pour le client (la cuisson).

La notion de "vue" Drupal

Je l'avoue, l'analogie n'est pas "top top" mais compréhensible.

Nous avons un plat (un type de contenu) qui est un dessert soit - par exemple - un gâteau.
Sauf que ce gâteau est destiné à la table 12 car une personne de cette table fête son anniversaire. Nous sommes - dans cette situation - dans le cas d'un plat (type de contenu) spécifique pour une table donnée et particulière.

Le restaurant doit donc préparer un gâteau spécial, pour N de personnes, avec M bougies dessus et il doit être présenté dans le noir, avec les serveurs qui dansent sur le morceau de Stevie Wonder : "Happy Birthday to you". :-)
Ce plat est spécifique pour une situation spéciale "qui sort de l'ordinaire" du flux de plats traditionnels de la carte du restaurant.

En Drupal nous sommes dans la situation suivante : il faut présenter un contenu spécial, pour une situation particulière et cela s'appelle une vue. Je prend un plat existant, je l'arrange d'une façon particulière et le présente d'un façon tout aussi spéciale.

Allons plus loin...

La notion de type de contenu

Imaginons que le restaurant propose des pâtes, c'est le plat principal / type de contenu = pâtes.
La carte va proposer le type de plat = pâtes (campanelle, farfalle, macaroni, penne etc.).
À cette carte va être associée une liste de sauces (bolognaise, pesto, carbonara etc.)
Associons aussi un accompagnement  (salade, mozzarella, tomates etc.)

Bref, des pâtes farfalles + sauce pesto + tomates ne sont pas la même chose que des macaronis + sauce carbonara + salade
Alors qu'il ne s'agit que du même type de plat / contenu = pâte

Avec Drupal

Nous allons avoir un type de contenu particulier  = pâte pour lequel nous allons associer un vocabulaire de taxonomie = type de pâte, puis un autre vocabulaire = sauce, et encore un autre = accompagnement.
Ces termes de taxonomie seront associé spécifiquement au type de contenu = pâtes
Il serait - en effet - stupide d'associer au type de contenu "dessert" les sauces bolognaise, pesto, carbonara et etc.

La notion de formulaire

Le client dispose d'un moyen d'être en contact avec le restaurant pour réserver une table et commander en amont les plats dont il a envie.
Il téléphone et est en contact avec une personne de l'organisation de façon à organiser sa soirée dans de bonnes conditions.

Avec Drupal

Un formulaire est proposé pour réserver une table à telle date, pour combien de personnes etc.
Le client désire un retour concernant sa réservation, pour être sûr qu'elle a été bien prise en compte.

La notion de référencement

Le restaurant désire être connu / reconnu sur des guides gastromiques de façon à "attirer" de nouveaux clients;
Le guide "Michelon" attribue 2 étoiles au restaurant XXX dans le cadre de sa cuisine genre "Je suis capable de faire des pâtes avec la sauce que vous désirez".

Avec Drupal

Si je fais une recherche sur un moteur (google par exemple) genre : "restaurant de pâtes", le restaurant arrive - au moins en première page - avec le libellé genre :
"Le restaurant XXX, spécialiste dans les pâtes, vous propose des sauces et des accompagnements à votre convenance... consultez notre carte et contactez-nous au [numéro de téléphone]"

La notion de statistiques

Le restaurant désire savoir et connaître la fréquentation de "sa table", nationalités des clients, taux de retour, prix payé etc.

Avec Drupal

Les statistiques de fréquentation du site sont assurées par "google analytics" de façon à analyser le temps passé sur le site, les contenus consultés, le pays d'origine de consultation etc.

Description de Drupal: