BoyWiki:Agora/7 novembre 2012

De BoyWiki

Agora/7 novembre 2012

Réutilisation de textes venant d'une autre page

Merci Pinocchio pour l'amélioration du modèle {{Réf Livre}}.

Il y a un autre modèle qui pourrait être encore plus utile qu'il l'est déjà : c'est celui qui est utilisé pour afficher sur les pages de mois et sur les pages d'année les textes en provenance des pages de jour. (Par exemple, la reprise sur Août et sur 1907 de la naissance de Roger Peyrefitte le 17 août.)

Sur les pages de mois, le modèle ajoute automatiquement l'année (avec lien) et la suite espace-tiret semi-cadratin-espace. Sur les pages d'année, il ajoute le jour et le mois (avec lien), puis la même suite espace-tiret semi-cadratin-espace (la différence de code étant le paramètre |j=).

Serait-il possible d'afficher le texte sans aucun ajout ? Par exemple en mettant dans le code un paramètre facultatif |-date ou |nodate ou |date=0 ou |date=non ou |j=non ou |j=0 ?

Ce serait d'une grande utilité dans le cas des sommaires qui accompagnent les pages de texte intégral, et qui se répètent à l'identique pour tous les chapitres d'un ouvrage. Par exemple pour La pédophilie en question : le sommaire ne serait écrit que dans la page du premier chapitre, et s'afficherait automatiquement dans les 37 autres. (On frémit à l'idée qu'une éventuelle modification doit actuellement être faite sur les 38 pages, qui en outre seront protégées !)

Caprineus 7 novembre 2012 à 10:46 (GMT)

Il s'agit du modèle {{Événement}}. Événement ne semble pas très intuitif pour l'usage plus commun que tu veux en faire. Un nouveau modèle Inclusion serait peut-être plus indiqué ? Inclusion sélective serait un terme exact, mais trop long. Mais il faut se souvenir que ce n'est pas tant le modèle qui fait le travail que les mots magiques onlyinclude dont il est encadré. Et aussi que son usage est lourd (paramètre imposé)...
Pinocchio 7 novembre 2012 à 20:55 (GMT)
J'étais bien conscient que mon idée était boiteuse... un peu comme d'utiliser un tourne-vis comme burin (mais des fois ça marche :-)
L'idéal serait de créer un modèle général {{Inclusion}}, avec un paramètre facultatif pour les dates, et d'envoyer un bot remplacer toutes les utilisations du modèle {{Événement}}. Mais je crois me souvenir que tu crains de générer une catastrophe si le bot fonctionne mal.
Sinon, oui, pourquoi pas créer un modèle {{Inclusion}} pour les tables des matières ? (Remarque, tu peux toujours y prévoir le susdit paramètre pour les dates, ça ne mange pas de pain et ça sera peut-être utile un jour.) L'utilisation est un peu lourde, c'est vrai, mais comme on l'utilise assez rarement...
C'est vraiment dommage qu'on ne puisse pas simplifier tout ça en incluant les fameux onlyinclude dans un modèle !
Caprineus 8 novembre 2012 à 11:48 (GMT)
Ben oui, mais désolé, je ne sais pas faire mieux...
Ceci dit il n'est même pas nécessaire d'utiliser un modèle si, comme l'usage que tu proposes le laisse penser, il n'y a qu'un seul et unique texte destiné à être inclus dans la même page. Dans ce cas il suffit d'encadrer ce texte (ici le sommaire) entre des balises <onlyinclude> et </onlyinclude>, afin de définir la partie "inclusible" dans d'autres pages (sinon en absence de ces balises la page entière est incluse). Dans les pages où on veut inclure le sommaire il suffit d'ajouter : {{:nom de page}}, ce nom de page étant celui de la page contenant le sommaire. Le modèle {{Événement}} n'est utile que parce que les pages d'évènements en contiennent plusieurs, il faut donc leur affecter un identifiant (id=x) et sélectionner celui que l'on veut inclure (r=x). Mais dans le cas du sommaire unique, nul besoin de modèle.
Pinocchio 8 novembre 2012 à 22:14 (GMT)
Merci pour cette astuce, qui résoud élégamment le problème. Voilà chaque page de La pédophilie en question allégée de plus de 5 Ko, et les éventuelles corrections grandement simplifiées. Il faudra faire la même chose pour les autres textes scindés en plusieurs chapitres.
Moi aussi, quand je serai grand, je veux être informaticien !
Juste pour savoir : si on met sur une même page plusieurs <onlyinclude> et </onlyinclude> (sans identifiants), le code {{:nom de page}} :
  • n'affichera rien ?
  • affichera seulement le contenu de la première balise ?
  • affichera à la suite le contenu de toutes les balises ? (ça pourrait être utile)
Est-il possible de trouver sur l'internet un mode d'emploi exhaustif de tous ces codes, si possible en français ?
Caprineus 9 novembre 2012 à 12:02 (GMT)
Merci à toi de l'avoir appliquée, je n'ai pas eu le courage ;o)
Réponse 3 !
Exhaustif et en français ? Comme tu y vas ! On trouve beaucoup de doc sur www.mediawiki.org et wikipedia, normal c'est un peu leur bébé. Sinon il faut rechercher sur les forums à partir du mot et trier les nombreux résultats.
Pinocchio 9 novembre 2012 à 12:19 (GMT)