La meilleure et la plus simple illustration de l’intérêt d’un modèle est de la rapproché de la notion d’article virtuel (redirection).
Il est possible de rediriger un article vers un autre en utilisant la redirection. Un article est situé dans l’arborescence du site mais "pointe" vers un autre. On peut le comparer avec le raccourci (ou l’alias sur Macintosh) d’un article sur le bureau d’un ordinateur.
L’inconvénient de cette méthode est qu’elle fait passer l’internaute dans une autre partie de l’arborescence. Le chemin d’accès devient différent (c’est pareil pour un raccourci, cela dit).
Faire un nouvel article par copier/coller n’est pas un bonne idée car dans ce cas les deux articles sont alors physiquement différents un changement de l’un n’est pas répercuté sur l’autre.
Un exemple simpliste mais suffisant
On crée un modèle de nom article_virtuel.html
en plaçant ce fichier squelette dans le dossier : squelettes/modeles
du site :
[(#REM) squelettes/modeles/article_virtuel.html]
[(#REM) On récupère le contexte de l'article par l'ID qui est passé par l'appel dans le corps du texte ]
<BOUCLE_article (ARTICLES) {id_article}>
[(#TEXTE)]
</BOUCLE_article>
C’est tout....
On désire créer par exemple un article virtuel qui fait référence à l’article A d’ID 12. Dans le texte d’un autre article B on tape tout simplement : <article12|virtuel>
On fait référence au modèle article_virtuel
en passant le contexte de l’article 12. L’article affiche alors le texte de l’article 12 et l’internaute reste dans l’arborescence de l’article virtuel B.
Une modification de l’article A entraîne évidemment une modification de l’article virtuel B.
Il est alors possible imaginer toutes les variantes possibles. Ainsi si le texte de l’article contenait :
<article12|virtuel>
<article24|virtuel>
<article32|virtuel>
Il semblera contenir, et affichera les textes des trois articles en succession.
Tout contenu peut utiliser un modèle
L’appel à un modèle peut être placé n’importe où ; dans les attributs d’une rubrique (descriptif, texte explicatif), d’un article, d’une brève etc.
Le modèle précédent est simpliste et ne crée rien. Il ne fait que répéter quelque chose qui existe déjà.
La notion de modèle permet une autre façon de réorganiser le contenu du site.
Plus simplement dit et de façon générale : si le besoin survient de rassembler des contenus du site et de les afficher d’une façon différente, une lumière orange devrait clignoter dans la tête : « Et si j’écrivais un modèle ? »
Les avantages
Les modèles sont assez simples à mettre en œuvre, et le curseur est mieux placé sur la personne qui administre le site. Il choisit les modèles adaptés à ses besoins.
Après une compréhension du développement des squelettes, elle peut s’offrir la possibilité d’affichages différents, de regrouper des informations etc. Et pour cela, elle ne touche pas aux squelettes (ce qui est toujours dangereux).
Le modèle ne marche pas ? pas grave on n’a pas touché à la structure du site.
Un modèle est dynamique (normal... c’est du code SPIP). Toute modification de l’objet ciblé par le modèle entraîne un changement du résultat produit par ce dernier.
Cela est aussi un bon moyen pour tester des activités qui seront - peut-être par la suite - intégrées dans des squelettes - et on ne touche pas aux squelettes...
Les modèles autorisent aussi le passage de variables, les possibilités sont alors infinies. Il est envisageable de proposer des modèles qui changent les CSS ou proposent des affichages différents.
Cela peut être aussi une bonne alternative aux plugins
J’en oublie...
Cela dit, il y a un revers à la médaille.
Puisque le curseur est mieux placé sur les rédacteurs, cela suppose plus de formation pour ces derniers. Ils vont aller plus loin que placer dans le texte des syntaxes comme <img12|left>
, <doc15|left>
etc.
En effet, ils doivent savoir les utiliser, que <article12|virtuel> fait ceci et <article12|resume> fait cela. Et ça, il va falloir bien documenter le site...
Article publié le 16 avril 2021, et actualisé en novembre 2021 .
Répondre à cet article