BoyWiki:Agora/27 mars 2012

De BoyWiki

Agora/27 mars 2012

Pour faciliter la rédaction du calendrier

Pour l'instant, le calendrier garçonnier comporte tous les jours de l'année, qui commencent à être assez bien remplis. Mais il n'y a rien pour les mois, et presque rien pour les années. Or mois et années peuvent se remplir avec exactement les mêmes éléments que les jours. (Les siècles, c'est autre chose : il faut élaguer et résumer.)

Je reviens donc sur une idée qu'on avait abordée avec Pinocchio il y a quelque temps (je ne sais plus si ça se compte en mois ou en années ;-).

L'objectif serait de disposer d'un système permettant de rédiger (ou de modifier) une seule fois le texte d'un événement (dans une page jour), et de pouvoir le reproduire sur une page mois ou année en insérant simplement un code.

Exemple (certainement mal foutu, mais c'est juste pour donner l'idée) :

On insèrerait à la page du 17 décembre un ensemble ressemblant à ça :

{{événement|id=1873-12-17-Bloxam|a|[[John Francis Bloxam]], alias “Bertram Lawrence” ou “X”, ecclésiastique [[Royaume-Uni|britannique]], écrivain [[Uraniens|uranien]], auteur de ''[[The priest and the acolyte]]'', rédacteur en chef de ''[[The Chameleon]]'' (mort le [[6 avril]] [[1928]]).<ref>{{Référence:Love in earnest (D’Arch Smith)/Routledge & Kegan Paul, 1970|refcourte}}, p. 54. – Wikipedia en anglais, [http://en.wikipedia.org/wiki/John_Francis_Bloxam John Francis Bloxam].</ref>}}

Sur la page elle-même, ça s'afficherait comme actuellement (le paramètre |a provoquant l'affichage en gras de l'année 1873 avant le texte).

Sur la page 1873, un code mentionnant l'id et les paramètres |j et |m permettrait d'afficher le même texte, mais précédé cette fois de 17 décembre.

Idem sur la page Décembre, où par un simple code on afficherait à nouveau le texte précédé de l'année (la mention du jour faisant partie de la structure de la page du mois).

Bien entendu, toute modification du texte sur la page de jour serait automatiquement répercutée dans les pages de mois et d'année.

L'id serait vraisemblablement créée par le rédacteur ; c'est pourquoi elle doit être aussi simple et claire que possible : date et nom, joints par des traits d'union. Les chiffres non connus pourraient être remplacés par des XX : 187X-12-XX signalerait un événement advenu au mois de décembre dans les années 70 du XIXe siècle ; 05XX-XX-XX un événement du VIe siècle.

Un tel outil est-il envisageable ???

Caprineus 27 mars 2012 à 18:39 (GMT)

Je ne me souviens plus trop quelle idée avait été abordée.
Les inclusions de texte se font traditionnellement par sous-page entière, comme on l'a fait pour les références bibliographiques ou les commentaires sur les images du jour. C'est le moyen le plus sûr. L'inconvénient est qu'il faut ajouter autant de sous-pages qu'il y a d'événements, sous-pages qui vont apparaitre dans l'index des pages comme autant d'articles !
Il y a bien une autre méthode moins orthodoxe, compatible avec ton idée, mais qu'il faudrait tester avant...
Pinocchio 28 mars 2012 à 12:45 (GMT)
Oui, tu as bien mis le doigt sur l'inconvénient principal de l'inclusion par sous-page entière : c'est très lourd (et donc ça découragerait forcément l'utilisateur moyen).
Mon idée était de traiter chaque événement comme une citation, avec un modèle du type {{Extrait}}. Ensuite, de même qu'on peut afficher ces citations sur la page d'accueil en n'utilisant qu'un code, on afficherait les événements dans les pages de mois et d'année.
Ce serait relativement facile à gérer pour l'utilisateur moyen, une fois qu'il aurait compris le code du modèle à employer, et que toute modification du texte d'un événement devrait se faire exclusivement sur les pages de jour.
Apparemment, tu as fait des essais. Y a-t-il un endroit où on peut déjà en voir les résultats ?
Caprineus 29 mars 2012 à 13:02 (GMT)
Alors, on peut dire que ça fonctionne, mais ce n'est pas simple du tout. Tu peux avoir un aperçu à la page du 17 décembre des modifications nécessaires pour rendre les événements "inclusibles" (je ne sais comment on dit) un par un. Les directives <onlyinclude> nécessaires ne fonctionnent pas quand elles sont insérées dans le modèle, je ne sais pas faire ou ne sais pas si c'est possible. Il faut donc les ajouter dans l'article pour chaque événement. De plus il faut transmettre les variables r={{{r|}}}|j={{{j|}}} provenant de l'inclusion dans les pages années.
Pour inclure un événement dans une autre page on fait : {{:17 décembre|r=Bloxam|j=17 décembre}}
Par exemple ici :

17 décembre – John Francis Bloxam, alias “Bertram Lawrence” ou “X”, ecclésiastique britannique, écrivain uranien, auteur de The priest and the acolyte, rédacteur en chef de The Chameleon (mort le 6 avril 1928).[1]

J'ai simplifié les id vu que le nom de la page événements contient déjà la date. L'inclusion fonctionne pour r=id. Il est impératif de faire précéder le nom de la page par ":" pour indiquer l'espace principal.
Voilà, c'est pas très pratique, mais je ne sais pas faire mieux...
Pinocchio 29 mars 2012 à 16:23 (GMT)
Merci pour la mise au point de cet instrument. Même s'il n'est pas aussi simple qu'on le souhaiterait, il peut quand même rendre de gros services.
Avant que je l'essaie plus à fond en créant des pages de mois et d'année, voyons si on peut le rendre plus lisible, et donc plus facilement utilisable par un néophyte. Je pense à deux choses :
  • Est-il possible de mettre les paramètres dans n'importe quel ordre ? Si oui, il me semble que la disposition par défaut devrait être :
    <onlyinclude>{{Événement|r={{{r|}}}|j={{{j|}}}|a=1273|id=Rûmî|[[Jalâl-ed-Dîn Rûmî]] → ''voir à la date grégorienne du [[24 décembre]]''}}</onlyinclude>
    parce qu'il est plus lisible et plus maniable que les données sur lesquelles le rédacteur doit intervenir soient regroupées, rejetant par la même occasion les signes "bizarres" hors de sa "zone d'action".
    (J'ai essayé : oui, on peut mettre les paramètres dans n'importe quel ordre. Du coup, j'en ai profité pour changer aussi l'ordre du code d'arrivée, pour qu'il soit cohérent avec celui de départ et celui affiché : {{:17 décembre|j=17 décembre|r=Bloxam}} — avec la date en premier.)
  • Rendons la lecture un peu plus facile pour ce pauvre néophyte : le paramètre |a= serait plus intuitif en |an=, et |j en |jour. Et est-ce qu'on pourrait avoir |nom= comme intitulé alternatif du paramètre |id= — c'est-à-dire, qu'on puisse utiliser indifféremment l'un ou l'autre ? (Pour |a / |an et |j / |jour, ce serait bien aussi d'avoir le choix.)
C'est vrai que ça commence de façon intimidante avec ce <onlyinclude>{{Événement|r={{{r|}}}|j={{{j|}}} ! Ne serait-il pas possible d'avoir une sorte de formulaire à remplir, qui se chargerait d'ajouter tout le code ? Encore une fois, je ne plaide pas pour moi, mais pour l'utilisateur lambda, que la seule vision du code risque de désespérer…
Caprineus 29 mars 2012 à 23:01 (GMT)
Petit problème détecté sur la page 2000 : il semble impossible d'intégrer le jour de la semaine (dimanche) à la date. Peut-être faudrait-il laisser l'utilisateur ajouter lui-même * pour avoir une puce. (J'ai laissé les deux formulations l'une au-dessus de l'autre, la seconde montrant l'effet désiré.)
Caprineus 30 mars 2012 à 18:40 (GMT)
Un cas particulier : Les Célébrations des pages de jour devraient également trouver leur place dans les pages de mois (mais pas dans les pages d'année, puisqu'elles reviennent tous les ans).
Or elles ne comportent pas de variable année. Comment ça se code, au départ comme à l'arrivée ? (Pour faire un essai, il y a la JIAG du 21 décembre, à faire apparaître à sa place dans le calendrier de décembre).
Caprineus 30 mars 2012 à 19:43 (GMT)
Le nouveau modèle présente un problème inattendu au 29 décembre (et à l'endroit correspondant de décembre) : il refuse d'afficher un texte où il y a des caractères cyrilliques (si on les supprime, ça marche). Même en les incluant dans le modèle {{Lang}} ça ne passe pas.
C'est d'autant plus curieux qu'il y a le 24 décembre des caractères farsis, beaucoup plus éloignés de l'alphabet latin ! (Il est vrai que c'est en note.)
Pas encore essayé pour le grec…
Caprineus 2 avril 2012 à 11:07 (GMT)
Le problème ne vient pas de la langue mais du signe "=". Dans le corps d'un modèle le caractère "=" est interprété comme une assignation de paramètre. Pour afficher tout de même le simple caractère "=" il est nécessaire d'utiliser le modèle {{=}} à sa place. Le langage wiki est tordu !
Pinocchio 2 avril 2012 à 11:22 (GMT)
Arf ! Da, da, tovaritch ! Le langage wiki est tordu, mais moi je suis bien oublieux, car tu m'avais déjà signalé ce problème il y a quelques mois. Il faudra que j'en parle à Alzheimer…
Caprineus 2 avril 2012 à 11:55 (GMT)
  1. Timothy d’Arch Smith, Love in earnest, London, Routledge & Kegan Paul, 1970, p. 54. – Wikipedia en anglais, John Francis Bloxam.