L'histoire des templates et des pages
La grande difficulté de comprendre "Le comment ça marche" est tout à fait normale et, bien qu'il ait été écrit des milliers de pages sur le sujet, nous restons des jours et des jours sans savoir. Pourtant, il y en a qui expliquent bien. ;-)
Pourtant, le principe est simple mais ce qui l'est moins, se sont les tonnes de paramétrages de divers outils que nous ne pouvons pas deviner surtout que nous les croisons pour la première fois.
Il y a des histoires de "droits" et obligations sur les pages qui ne peuvent s'enregistrer si le modèle n'est pas réglé pour cela.
Mais avec un peu de patience et de motivation, on fini par comprendre et c'est une question de temps. Perso, il m'a fallu presque quinze jours pour pouvoir vous dire ça.
En fait, c'est tout bête et sacrément bien fichu. Cela démultiplie la puissance d'édition et encore je n'ai pas tout assimilé. Quand je vous parlerai d'API... ;-)
Il y a une page qui est beaucoup plus qu'une page et si je vous révèle que l'ensemble de ProcessWire n'est constitué que de pages vous allez en rester ébahi. Nous reviendrons sur ce sujet.
Alors, ces champs (et leur résultats), autant que ce soit vous qui les utilisiez
Donc une page mais aussi un "modèle".
La grande erreur que nous faisons, nous les débutants, c'est que nous confondons "Modèle" avec "Template" qui comme chacun le sait sert à rendre joli notre site.
Quoi que nous puissions l'agrémenter comme l'on veut, le modèle ne sert pas à embellir le site mais à proposer des informations qui s’afficheront sur nos page.
Comme un bon vieux site à la papa, il accueillera une structure qui lui dira où mettre le haut du site, le bas, la sidebar, le titre de l’article, le contenu et encore bien des choses comme vous le désirez et aire cela est incroyablement simple. en fait, il travaille pour vous.
Mais il pourra aussi accueillir un programme en PHP ou autre langage de programmation de sorte que selon votre talent, vous donnerez une interactivité à vos pages.
Justement, les pages, nous n'en avons pas encore parlé.
![]()
Pour le moment, nous n'en dirons pas plus sur les modèles car ce que nous cherchons c'est à comprendre le principe de la relation entre le modèle et les pages.
Vous l'avez donc compris, le modèle sert à préparer le terrain pour l'affichage des pages en positionnant à l'avance des champs qui recevront les informations les préparant ainsi à l'affichage.
C'est quoi un champ ?
Un champ, c'est un espace où l'on peut écrire une date, un émail, un texte, une formule mathématique, un roman et, selon comment ils sont disposés, nous aurons une page parfaitement fonctionnelle et agréable à regarder.
C'est comme quand un site vous propose de vous inscrire à une Newsletter. Un champ vous demande votre prénom et un autre votre adresse émail et quand vous remplissez un formulaire sur internet, vous remplissez surtout des champs qui vont être traités par le système soit pour gérer votre commande de petit pois, vous envoyer plus tard du spam ou serviront à remplir de statistiques qui aideront nos hommes politique à mieux vous emmener en bateau. Lol !
Alors, ces champs, il y en a de toutes sortes, autant que ce soit vous ui les utilisiez soit pour écrire des poème (ils ont la taille que vous voulez) soit pour faire une Newsletter, recueillir les informations bancaires des pauvre gens ou promettre la lune aux visiteurs de votre site mais vous n'en êtes encore pas là. ;)
Pour revenir à nos moutons, vous construirez votre modèle en prévoyant deux, trois ou cinquante champs que vous inclure dans votre code. ils correspondront à ceux de la page que vous allez documenter.
Quand vous aurez préparé votre modèle, cela prend cinq minutes pour les plus simple, vous allez l'intégrer dans l'administration du système et vous allez apprendre un truc. Pour le moment, regardez seulement.

Vous allez donc cliquer sur "Installation" ou "Setup" si c'est encore en anglais et c'est là que vous allez tout comprendre. Le système va vous demander quels champs vous désirez intégrer à votre modèle.
Vous savez que vous avez besoin d'un titre, du headline si vous voulez, du summary, le body bien sûr, la sidebar et d'un champ image pour intégrer ma photo par exemple. Vous vous souvenez qu'ils doivent correspondre aux informations que vous avez déclaré dans le modèle n'est-ce pas ?
Quand vous aurez compris le système et réalisé deux ou trois pages, vous réaliserez aussi la puissance du truc. :-)
![]()
Pour vous mettre l'eau à la bouche, je vais vous parler des...
Vous êtes en train de piger l'histoire des pages et des templates (modèles en bon français) et, ce qu'on ne vous dit pas, c'est qu'à ce stade vous allez commencer à souffrir.
Parce que quand vous allez intégrer vos pages définitives, vous allez découvrir un système de permissions, d'autorisations qui fait bon genre même dans les bonnes maisons.
Tous les CMS sont équipé d'un système de gestion des utilisateurs et pour faire court , nous dirons qu'il y a les visiteurs qui dégustent les pages, les membres qui souvent en voient d'autres en plus selon leur statut, quelquefois un "Éditeur" qui a le droit de corriger vos fautes et l'administrateur pour qui tout est permis.
Tout le monde connait le principe des "droits" et les développeurs de ProcessWire ont poussé leur exploitation beaucoup plus loin en pensent non comme vous encore peut-être au CMS mais plutôt au CMF.
Nous travaillons un CMF, c'est à dire un Framework destiné non pas seulement à construire des sites mais surtout les outils qui construisent les sites. Vous me suivez ?
Ils bidouillent les droits pour qu'ils ne servent pas seulement à gérer les visiteurs et toute l'équipe mais aussi les actions, les modules, les images, les catégories etc, etc...
Par exemple, un template sera réservé à une catégorie précises et comme vous savez qu'avec une seule instance (ou installation) nous pouvons gérer 1000 sites aux thèmes bien différents, il peut être utile d'interdire l'utilisation d'un modèle à une autre section surtout s'il contient des informations confidentielles qui n'irait pas avec une autre composition.
Alors, un template acceptera d'être utilisé pour créer certaines pages et pas d'autres et la gestion de ces droit est tellement pointue que nous les débutants avons un peu de mal à le gérer tout ce suite.
Bien que je travaille ce site depuis une quinzaine de jours, je me suis trouvé ce matin avec l’impossibilité d'intégrer un modèle parce-que un autre modèle ou une autre page n'a pas donné la permission parce qu'en vrai je n'ai pas su la régler.c l
Toute la journée, je me suis posé la question : Mais où c'est que ça se règle ?
Et pourtant j'y suis passé 10 fois dessus. :-//
Bon, c'est le métier qui rentre et avec cet outil, tout est une question de patience. Il faut avoir du temps. :-)
![]()
J'ai presque tout compris ce matin du pourquoi j'ai tant de difficultés à accorder les templates choisis à mes pages.
Quand vous construisez une page, vous avez déjà choisi le modèle qui ira avec.
Supposons que j'ai édité un template avec douze champs car il s'agit une page de présentation de voitures et les informations, outre le prix, donnent la couleur, la cylindré, son taux de pollution acceptable ect.
J'ai fabriqué un template ou modèle pour les codeurs français sur mesure que j'ai nommé luxe-autos-disponibles.php et j'ai chois d'enregistrer ma page dans la catégorie Automobiles pour que ceux qui cherchent une bagnole n'ait pas à fouiller le site.
Vous avez bien sûr remarqué que nous avons dans notre menu en frontend tout d'abord la page d'accueil qui fonctionne avec le template home.php, puis différentes pages qui nt aussi des sous pages. Nous revenons au concept des pages Parents et enfants.
Devinez.
La page Automobile est obligatoirement une enfant de la page Accueil qui elles est parent de plusieurs autres pages qui ont aussi (ou pas) des enfants ce qui dans le petit monde de ProcessWire fait d'elle un grand parent.
On peut continuer comme ça pendant longtemps ce qui nous permet de faire un site avec plusieurs larges catégories dont pour certaines nous réserveront des templates parce que cela ferait mauvaises genre de publier de la musique hard Punk au sein d'une section qui prêche le Zénisme, le yoga et les petits pois secs déshydratés au Népal.
Ce n'est pas par jalousie qu'une catégorie mère refuse l'utilisation d'un tel modèle (ce qui m'est arrivé hier) à un de ses enfant et sans doute dans la lignée à certain d'entre d'eux qui sont parents aussi.
Les enfants aussi peuvent mettre leur véto sur l’utilisation de leurs modèles et c'est pour cela que j'ai titré le chapitre précédent Permissions, autorisations méli-mélo.
Dans la pratique, une fois compris le concept, ça nous arrange tous car ce système a justement été pensé pour démultiplier les possibilité de "droits" ouvrant aux intrépides administrateurs l'opportunité d'élargir leur horizon.
Vous allez me demander comment j'ai fini par comprendre cet aspect semblant tordu aux premier abord mais se révèle au final une intelligente fonction avec laquelle nous aurons plaisir jouer.
Je n'ai pas de mérite car je le savais depuis le départ. ;-)
Un truc pointu comme ce CMS-CMF ne se maîtrise pas en cinq minutes comme la plupart des gestionnaires de contenu et, si vous sentez que cela en faut la peine, vous plongez dans la documentation, lisez ce que les utilisateurs racontent sur les forums et vous ne vous privez pas d'avaler l’un après l'autre tout les tutoriels que auxquels en général vous ne comprenez rien. Même s'il sont bien fait.
Depuis quelques jours, il apparaissait dans mes textes que j'étais sur la piste et j'avais réellement compris mais ne trouvais pas la piste tout en me heurtant toujours au même problème qui, s'il se manifestait de manière aléatoire, n'en était pas moins authentique.
Pour la deuxième, troisièmement fois, je suis tombé sur un écran qui affiche une liste des modèles disponibles mais je ne voyais pas les miens et des fois oui. C'est là que je me suis rappelé cette histoire de permissions et que j'ai décidé de suivre la piste.
J'étais dans une catégorie (comme votre Automobile) et le coupable était soit la mère soit une de ses filles que nous pourrions appeler mes sœurs. J'ai commencé par ma page parent.
Bingo ! L'imbécile qui a réglé ou oubliè les permissions n'avait pas autorisé mon nouveau template dans la liste. J'ai vite remédié à la situation et je vous en montrerai les images demain à fin que tous ce qui me lisent comprennent en même temps que moi.
![]()
La suite demain. :-)