les modeles

bonjour,
j’ai lu la page http://www.spip.net/fr_article3454.html et je n’ai pas tout saisi sur les modeles, quelqu’un peut il expliqué succintement les utilités et avantages et surtout si ous avez des exemples sur vos pages car voir un exemple vaut mille paragraphes :wink:
merci
So:)

   bonjour,
  j'ai lu la page http://www.spip.net/fr_article3454.html et je n'ai
pas tout saisi sur les modeles, quelqu'un peut il expliqué succintement les
utilités et avantages et surtout si ous avez des exemples sur vos pages car
voir un exemple vaut mille paragraphes :wink:

Tu en plein dans spip-contrib, par exemple
http://www.spip-contrib.net/Modele-pour-carte-Panoramio (c'est le premier
dans google).

Bonjour,

Pour faire très simple, l’utilité d’un modèle est intégrer un élément particulier dans une page par l’appel du modèle…

Tu crées un modèle music.html qui prend une variable (un numéro document par exemple) et tu le places au milieu de ton texte par et le fichier qui contient une boucle s’exécute au milieu de ton article… c’est un principe pour afficher par exemple un lecteur de mp3… c’est pratique pour faire une insertion qui ne nécessite pas un plugin complêt.

  • Seb -

Le 13/07/07, sonews <sonews@gmail.com> a écrit :

bonjour,
j’ai lu la page http://www.spip.net/fr_article3454.html et je n’ai pas tout saisi sur les modeles, quelqu’un peut il expliqué succintement les utilités et avantages et surtout si ous avez des exemples sur vos pages car voir un exemple vaut mille paragraphes :wink:
merci
So:)


liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

bonjour,

j'ai lu la page Utiliser les modèles - SPIP et je n'ai pas tout saisi sur les modeles, quelqu'un peut il expliqué succintement les utilités et avantages et surtout si ous avez des exemples sur vos pages car voir un exemple vaut mille paragraphes :wink:
merci
So:)
  

Voici comment je l'explique dans mes formations.
La meilleure et la plus simple illustration de l'intérêt d'un modèle est la notion d'article virtuel qui est à rapprocher de la notion de 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.
---------------------------------
L'exemple qui suit est très simpliste mais suffisant
-------------------------------------
Il est créé le modèle article_virtuel.html placé dans le répertoire squelettes/modeles
Contenu de article_virtuel.html :

<!-- 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 d'ID 12.
Dans le texte d'un autre article 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 contenu de l'article 12 et l'internaute reste dans l'arborescence de l'article virtuel.
Une modification de l'article 12 entraîne évidemment une modification de l'article virtuel.

Précision : le nom du modèle n'a pas d'importance.
Si ton modèle s'appelle choucroute_andouillette.html, il sera appelé par <choucroute12|andouillette>

Partant de là tu peux imaginer toutes les variantes possibles :
Ainsi si le texte de l'article contient :
<article12|virtuel>
<article24|virtuel>
<article32|virtuel>
Il contiendra les textes des trois articles.
Ce modèle est simpliste et ne crée rien. Il ne fait que répéter quelque chose qui existe déjà.

Allons plus loin avec un modèle qui crée quelque chose.
Dans un article je désire placer une courte introduction de tous les articles du site - par exemple.
Je crée le modèle article_resume.html qui contient le code suivant :

<BOUCLE_article(ARTICLES) {id_article}>
<BOUCLE_article_resumé(ARTICLES) {tout}>
[<a href="#URL_ARTICLE"> [(#TITRE|supprimer_numero)]</a><br /><hr>]
[(#INTRODUCTION|couper{200})]
  </BOUCLE_article_resume>
</BOUCLE_article>

Et dans un article du site je place le texte suivant
<article12|resume>
A noter que le contexte 12 qui est passé au modèle - on s'en fout - , c'est juste pour passer un contexte puisqu'on part vers un autre contexte qui est constitué par tous les articles du site.

Quel est le principal avantage ?
Les modèles sont assez simples a mettre en oeuvre, et le curseur est mieux placé sur la personne qui administre le site.
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).

D'autres avantages ?
Cela est aussi un bon moyen pour tester des activités qui seront - par la suite - intégrés dans des squelettes - et on ne touche pas aux squelettes...
Les modèles autorisent le passage de variables, les possibilités sont alors infinies.
Il est envisageable de proposer des modèles qui change les CSS ou propose 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. Il vont aller plus loin que placer dans le texte des syntaxes comme <img12|left>, <doc15|left>.etc.
Il doit savoir que <article12|virtuel> fait ceci et <article12|resume> fait cela.
Et ça, il va falloir lui apprendre et bien documenter le site...

Un dernier pour la route.
J'utilise aussi les modèles pour tester des variables ou vérifier des trucs. C'est un modèle pour développeur...
Exemple 1 :
<!-- On récupère le contexte de l'article par son ID qui est passé par son appel dans le corps du texte -->
<BOUCLE_arttest(ARTICLES){id_article}>
<!-- On affiche la balise d'environnement de l'article -->
         [Contexte d'environnement de l'article = (#ENV)<hr>]
<!-- On affiche le contexte de langue de l'article -->
         [Contexte de langue de l'article (#ENV{lang})]
    <hr>
<!-- On affiche le titre et l'ID de la rubrique mère -->
         <BOUCLE_rubtest (RUBRIQUES){id_rubrique}>
         [Titre de la rubrique mère = (#TITRE)<br />]
         [ID de la rubrique mère = (#ID_RUBRIQUE)<br />]
         </BOUCLE_rubtest>
         <hr>
<!-- On affiche les mots clés de l'article -->
         <B_mot>
                <BOUCLE_mot (MOTS){id_article}>
                [Mot clé de l'article = (#TITRE)<br />]
                </BOUCLE_mot>
         </B_mot>
                 Cet article n'a pas de mot-clé<br />
         <//B_mot>
         <hr>
</BOUCLE_arttest>

Exemple 2 :
En langage naturel :
Affiche-moi tous les articles qui ont un logo

Tonton BP

Cher tonton BP,
jene peut que vous dire un grand merci pour avoir pris la peine d’écrire une reponse decette qualité, je comprends beaucoup mieux les modeles maintenant et meme si jai un souci je relis votre mail et le tour est joué
merci bcp
So:)

Le 13/07/07, Bernard-Paul Eminet <bernard-paul.eminet@wanadoo.fr> a écrit :

bonjour,

j’ai lu la page http://www.spip.net/fr_article3454.html et je n’ai pas
tout saisi sur les modeles, quelqu’un peut il expliqué succintement
les utilités et avantages et surtout si ous avez des exemples sur vos
pages car voir un exemple vaut mille paragraphes :wink:
merci
So:)

Voici comment je l’explique dans mes formations.
La meilleure et la plus simple illustration de l’intérêt d’un modèle est
la notion d’article virtuel qui est à rapprocher de la notion de
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.

L’exemple qui suit est très simpliste mais suffisant

Il est créé le modèle article_virtuel.html placé dans le répertoire
squelettes/modeles
Contenu de article_virtuel.html :

<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 d’ID 12.
Dans le texte d’un autre article 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 contenu de l’article 12 et l’internaute reste
dans l’arborescence de l’article virtuel.
Une modification de l’article 12 entraîne évidemment une modification de
l’article virtuel.

Précision : le nom du modèle n’a pas d’importance.
Si ton modèle s’appelle choucroute_andouillette.html, il sera appelé par
<choucroute12|andouillette>

Partant de là tu peux imaginer toutes les variantes possibles :
Ainsi si le texte de l’article contient :
<article12|virtuel>
<article24|virtuel>
<article32|virtuel>
Il contiendra les textes des trois articles.
Ce modèle est simpliste et ne crée rien. Il ne fait que répéter quelque
chose qui existe déjà.

Allons plus loin avec un modèle qui crée quelque chose.
Dans un article je désire placer une courte introduction de tous les
articles du site - par exemple.
Je crée le modèle article_resume.html qui contient le code suivant :

<BOUCLE_article(ARTICLES) {id_article}>
<BOUCLE_article_resumé(ARTICLES) {tout}>
[ [(#TITRE|supprimer_numero)]


]
[(#INTRODUCTION|couper{200})]
</BOUCLE_article_resume>
</BOUCLE_article>

Et dans un article du site je place le texte suivant
<article12|resume>
A noter que le contexte 12 qui est passé au modèle - on s’en fout - ,
c’est juste pour passer un contexte puisqu’on part vers un autre
contexte qui est constitué par tous les articles du site.

Quel est le principal avantage ?
Les modèles sont assez simples a mettre en oeuvre, et le curseur est
mieux placé sur la personne qui administre le site.
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).

D’autres avantages ?
Cela est aussi un bon moyen pour tester des activités qui seront - par
la suite - intégrés dans des squelettes - et on ne touche pas aux
squelettes…
Les modèles autorisent le passage de variables, les possibilités sont
alors infinies.
Il est envisageable de proposer des modèles qui change les CSS ou
propose 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. Il vont aller plus loin que placer dans
le texte des syntaxes comme <img12|left>, <doc15|left>.etc.
Il doit savoir que <article12|virtuel> fait ceci et <article12|resume>
fait cela.
Et ça, il va falloir lui apprendre et bien documenter le site…

Un dernier pour la route.
J’utilise aussi les modèles pour tester des variables ou vérifier des
trucs. C’est un modèle pour développeur…
Exemple 1 :

<BOUCLE_arttest(ARTICLES){id_article}>

[Contexte d’environnement de l’article = (#ENV)


]

[Contexte de langue de l’article (#ENV{lang})]


[Titre de la rubrique mère = (#TITRE)
] [ID de la rubrique mère = (#ID_RUBRIQUE)
]
[Mot clé de l'article = (#TITRE)
] Cet article n'a pas de mot-clé

Exemple 2 :
En langage naturel :
Affiche-moi tous les articles qui ont un logo

Tonton BP

Bonjour,

L'explication de Tonton est convaincante et meriterait plus de publicite (i.e un
article sur SPIP ou SPIP-Contrib ou je ne sais, car je me demandais egalement a
quoi servait les modeles jusqu'a maintenant....

Geronimo

Le 15/07/07, Geronimo a écrit :

Bonjour,

L'explication de Tonton est convaincante et meriterait plus de publicite (i.e un
article sur SPIP ou SPIP-Contrib ou je ne sais,

là par exemple : Utiliser les modèles - SPIP

car je me demandais egalement a
quoi servait les modeles jusqu'a maintenant....

--
@plus

Jacques

Pour les lyonnais++ spip-lyon@rezo.net http://spip-party.net/-Lyon-
Plugins zippés Téléchargement : http://spip.jermer.fr/?Liste-des-zip-produits
Remercier Spip et les plugins (Crédits) :

http://spip.jermer.fr/?Plugin-plugins-actifs-version-5

Gérer ses squelettes & thèmes en interne :

http://spip.jermer.fr/?Spip-1-92a-Plugin-Admin-themes

sonews <sonews@gmail.com> a écrit :

Cher tonton BP,
jene peut que vous dire un grand merci pour avoir pris la peine d'écrire une
reponse decette qualité, je comprends beaucoup mieux les modeles maintenant
et meme si jai un souci je relis votre mail et le tour est joué
merci bcp
So:)

Et il y a encore bien d'autres usages. On peut s'en servir pour créer des
nouvelles possibilités d'affichage dans nos articles: comme, par exemple,
afficher des parties du texte d'un article dans des ongles
(En onglets dans le texte de SPIP, ou ailleurs... - SPIP-Contrib) ou dans une
boîte flottante pour faire ressortir une partie de ton texte. Ou faire
afficher un menu listant les articles d'un rubrique X en plein milieu d'un
article Y: menu qui restera à jour comme tous autres menus.

Bref, il y a autant d'usage possible qu'il y a de besoins.

Les modèles peuvent être appelés dans un article ou directement dans un
squelette (comme un INCLURE static).

J'ai deux petits articles qui peuvent peut-être t'aider à poursuivre ta
réflexion: http://monsitespip.com/spip.php?article9 et
http://monsitespip.com/spip.php?article29

François
www.monsitespip.com

Le 13/07/07, Bernard-Paul Eminet <bernard-paul.eminet@wanadoo.fr> a écrit :

bonjour,
> j'ai lu la page Utiliser les modèles - SPIP et je n'ai pas
> tout saisi sur les modeles, quelqu'un peut il expliqué succintement
> les utilités et avantages et surtout si ous avez des exemples sur vos
> pages car voir un exemple vaut mille paragraphes :wink:
> merci
> So:)
>
Voici comment je l'explique dans mes formations.
La meilleure et la plus simple illustration de l'intérêt d'un modèle est
la notion d'article virtuel qui est à rapprocher de la notion de
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.
---------------------------------
L'exemple qui suit est très simpliste mais suffisant
-------------------------------------
Il est créé le modèle article_virtuel.html placé dans le répertoire
squelettes/modeles
Contenu de article_virtuel.html :

<!-- 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 d'ID 12.
Dans le texte d'un autre article 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 contenu de l'article 12 et l'internaute reste
dans l'arborescence de l'article virtuel.
Une modification de l'article 12 entraîne évidemment une modification de
l'article virtuel.

Précision : le nom du modèle n'a pas d'importance.
Si ton modèle s'appelle choucroute_andouillette.html, il sera appelé par
<choucroute12|andouillette>

Partant de là tu peux imaginer toutes les variantes possibles :
Ainsi si le texte de l'article contient :
<article12|virtuel>
<article24|virtuel>
<article32|virtuel>
Il contiendra les textes des trois articles.
Ce modèle est simpliste et ne crée rien. Il ne fait que répéter quelque
chose qui existe déjà.

Allons plus loin avec un modèle qui crée quelque chose.
Dans un article je désire placer une courte introduction de tous les
articles du site - par exemple.
Je crée le modèle article_resume.html qui contient le code suivant :

<BOUCLE_article(ARTICLES) {id_article}>
<BOUCLE_article_resumé(ARTICLES) {tout}>
[<a href="#URL_ARTICLE"> [(#TITRE|supprimer_numero)]</a><br /><hr>]
[(#INTRODUCTION|couper{200})]
  </BOUCLE_article_resume>
</BOUCLE_article>

Et dans un article du site je place le texte suivant
<article12|resume>
A noter que le contexte 12 qui est passé au modèle - on s'en fout - ,
c'est juste pour passer un contexte puisqu'on part vers un autre
contexte qui est constitué par tous les articles du site.

Quel est le principal avantage ?
Les modèles sont assez simples a mettre en oeuvre, et le curseur est
mieux placé sur la personne qui administre le site.
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).

D'autres avantages ?
Cela est aussi un bon moyen pour tester des activités qui seront - par
la suite - intégrés dans des squelettes - et on ne touche pas aux
squelettes...
Les modèles autorisent le passage de variables, les possibilités sont
alors infinies.
Il est envisageable de proposer des modèles qui change les CSS ou
propose 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. Il vont aller plus loin que placer dans
le texte des syntaxes comme <img12|left>, <doc15|left>.etc.
Il doit savoir que <article12|virtuel> fait ceci et <article12|resume>
fait cela.
Et ça, il va falloir lui apprendre et bien documenter le site...

Un dernier pour la route.
J'utilise aussi les modèles pour tester des variables ou vérifier des
trucs. C'est un modèle pour développeur...
Exemple 1 :
<!-- On récupère le contexte de l'article par son ID qui est passé par
son appel dans le corps du texte -->
<BOUCLE_arttest(ARTICLES){id_article}>
<!-- On affiche la balise d'environnement de l'article -->
         [Contexte d'environnement de l'article = (#ENV)<hr>]
<!-- On affiche le contexte de langue de l'article -->
         [Contexte de langue de l'article (#ENV{lang})]
    <hr>
<!-- On affiche le titre et l'ID de la rubrique mère -->
         <BOUCLE_rubtest (RUBRIQUES){id_rubrique}>
         [Titre de la rubrique mère = (#TITRE)<br />]
         [ID de la rubrique mère = (#ID_RUBRIQUE)<br />]
         </BOUCLE_rubtest>
         <hr>
<!-- On affiche les mots clés de l'article -->
         <B_mot>
                <BOUCLE_mot (MOTS){id_article}>
                [Mot clé de l'article = (#TITRE)<br />]
                </BOUCLE_mot>
         </B_mot>
                 Cet article n'a pas de mot-clé<br />
         <//B_mot>
         <hr>
</BOUCLE_arttest>

Exemple 2 :
En langage naturel :
Affiche-moi tous les articles qui ont un logo

Tonton BP