Discussion modèle:Lien/Archive 2

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Une page de Wikipédia, l'encyclopédie libre.
Autres discussions [liste]
  • Admissibilité
  • Neutralité
  • Droit d'auteur
  • Article de qualité
  • Bon article
  • Lumière sur
  • À faire
  • Archives
  • Commons

Lien "pipé" inutile[modifier le code]

Bonjour,

En consultant le code source du modèle, je constate que la syntaxe actuelle répète inutilement le texte du lien (format Article) lorsque le paramètre texte est absent. Ce n'est pas forcément grave dans la mesure où ce modèle est sans doute rarement substitué, mais ça ne m'a pas l'air très propre.

Aussi je propose de remplacer le code

[[{{{fr|{{{1|{{{trad|}}}}}}}}}|{{{texte|{{{fr|{{{1|{{{trad|}}}}}}}}}}}}]]

par le code

{{#if:{{{texte|}}}|[[{{{fr|{{{1|{{{trad|}}}}}}}}}|{{{texte}}}]]|[[{{{fr|{{{1|{{{trad|}}}}}}}}}]]}}

. Même code indenté pour plus de lisibilité :

{{#if: {{{texte|}}}
  | [[{{{fr|{{{1|{{{trad|}}}}}}}}}|{{{texte}}}]]
  | [[{{{fr|{{{1|{{{trad|}}}}}}}}}]]
}}

Qu'en pensez-vous ? Place Clichy 19 avril 2016 à 11:57 (CEST)

Comme tu dis, normalement ce n'est pas en subst et donc Article ou Article ne fait aucune différence de rendu html de la page, alors j'en pense if it ain't broke, don't fix it. — Oliv☮ Éppen hozzám? 22 avril 2016 à 11:59 (CEST)

Plusieurs langues (bis)[modifier le code]

Je vois ci-dessus qu'en 2009 ce débat a eu lieu, mais je ne vois pas apparaître cette possibilité dans la documentation du modèle et je n'ai pas le sentiment que cela fonctionne encore. Pourtant cela me semble utile. J'ai ainsi l'exemple de la palette Modèle:Palette Lycées internationaux en France et l'information sur l'existence d'un article en allemand d'École allemande internationale de Paris. La référence à l'article en allemand me semble indispensable, mais la référence à l'article en anglais, langue plus usuelle, est utile. Comment faire de manière élégante. — Berdea (discuter) 29 avril 2016 à 10:49 (CEST)

Un multi langue n'est pas souhaitable, parce que le but est uniquement d'indiquer un article existant. Le contributeur / traducteur potentiel retrouve les autres langues par l'interwiki. Il faut donc essayer de faire pointer vers l'articles le plus complet et ayant le plus de chance d'être compris (le choix n'est pas toujours évident)
Des tentatives de mettre plus d'une langue ont démontré que le nombre de langues proposés augmente rapidement, au détriment de la simplicité et de la lisibilité.
Cordialement,
-- Hercule (discuter) 14 juin 2016 à 09:17 (CEST)

Accord entre la documentation et le modèle de conversion[modifier le code]

Bonjour Notification Verdy p :
En mai, vous avez fait une grosse mise à jour de Modèle:Lien/Documentation. Cette mise à jour est très intéressante (je vous remercie au passage), mais je pense qu'il y a quand même un problème.
Vous avez modifié la « syntaxe à copier-coller », de {{Lien |trad = |langue = |fr = |texte= }} vers {{Lien |langue= |trad= |fr= |texte= }}. Je pense que c'est gênant parce que ce nouvel ordre d'arguments n'est pas le même que celui utilisé par {{Lien/Conversion automatique}}. Autrement dit, les contributeurs qui utiliseront la nouvelle « syntaxe à copier-coller » dans des articles génèreront du « boulot en plus » au moment où ces articles seront corrigés par des contributeurs utilisant le modèle de conversion (des contributeurs comme HerculeBot par exemple). Dans cet exemple, du « boulot en plus » est visible : les arguments du lien vers Michael Wood sont remis dans l'ordre (par le modèle de conversion).

Justement cet exemple démontre que l'ancien ordre était inconsistant. Lien avait été fait avec l'ancien ordre. Avec le nouvel ordre, la transformation automatique ne touchait pas du tout à l'ordre, les paramètres français restaient inchangés et groupés à la fin, la transformation ne faisant que remplacer les accolades par les crochets, puis supprimer le nom du modèle "Lien" et les deux premiers paramètres pour l'article anglais !
Pas de magie, et ma documentation est nettement plus facile à comprendre pour transformer dans un article existant des liens rouges (issus souvent d'un import d'article en cours de traduction) en insérant juste ce qu'il faut pour garder au début les éléments du lien en langue étrangère, et la traduction française à la fin: généralement on ajoute juste la traduction du libellé on n'indique pas le nom d'article manquant en français à moins qu'il génère un conflit d'homonymie: le lien francophone rouge devrait être bien affiché en rouge avant le mini-lien vers la langue étrangère). Verdy p (discuter) 13 juin 2016 à 21:00 (CEST)

Je pense qu'il est important de conserver le même ordre d'arguments entre la documentation et le modèle de conversion. Je notifie Notification Hercule, qui saura expliquer la situation mieux que moi, sachant qu'il avait contrôlé (et corrigé) l'accord entre la doc et le modèle de conversion, il y a quelques semaines, après cette discussion.
Wikipédiennement --NicoScribe (discuter) 13 juin 2016 à 19:58 (CEST)

Je recommanderais le paramètre non nommé n° 1 c'est-à-dire |fr= en tête car c'est ce qui permet dans de nombreux cas un usage plus simple. — Oliv☮ Éppen hozzám? 13 juin 2016 à 20:28 (CEST)
Je ne suis pas d'accord, car justement l'ordre qui était avant mélangeait tout et la plupart du temps les gens se trompaient de paramètres.
Ici on indique simplement dans l'ordre la source à traduire (langue étrangère) puis la cible (langue française) et dans tous les cas le dernier paramètre est le text affiché. Les paramètres sont dépendants entre eux dans un ordre précis quand l'un d'eau manque. La doc précise maintenant plus clairement dans quel ordre cela se fait.
Ce que fait le bot n'a rien à voir (en fait c'est aux bots de s'adapter, je ne vois d'ailleurs pas pourquoi un bot devrait au passage modifier l'ordre des paramètres, il n'en a JAMAIS besoin, et surtout ne devrait JAMAIS le fait en cas de paramètre passé en double car dans ce cas le dernier spécifier dans la source a la priorité; un tel bot qui fait ça ne comprend rien à la façon dont marche les modèles, et pire il impose une surcharge de modification inutile et même indésirable: tant qu'il y est il voudra alors changer l'indentation, les sauts de ligne, mettre ou ne pas mettre d'espaces avant ou après le signe = d'un paramètre... et puis quoi encore: virer les commentaires HTML ? Si la modif n'a aucun effet sur la valeur finale, le bot ne doit RIEN changer du tout). Verdy p (discuter) 13 juin 2016 à 20:40 (CEST)
De plus ici, on veut faire une référence à à un article à traduire qui n'a pas d'équivalent en français: ce sont les deux premiers paramètres qui fixent ça. L'article en français sera lié aux deux paramètres suivants. Si l'article français est créé, seul ces deux derniers paramètres seront gardés, les deux premiers seront ignorés. La transformation consiste alors uniquement à supprimer ces deux premiers paramètres (et le nom du modèle) pour le remplacer par [[, et remplacer les deux accolades finales par des crochets: l'ordre est identique, la manipulation est bien plus simple.
De même si on crée un article avec un wiki lien qui en fait est rouge, il est plus simple d'insérer **au début uniquement ** l'appel du modèle lien avec les paramètres de l'article en langue étrangère, et juste remplacer les crochets par les accolades. On ne permute rien du tout !
Si un bot fait cette transformation d'un wikilien rouge à un appel Lien, il ne touchera pas du tout à l'ordre des paramètres, et même chose dans le sens inverse pour enlever le modèle Lien et mettre un wikilien standard quand l'article français existe. Le bot ne touchera alors pas non plus à l'indentation, aux commentaires HTML, il n'a besoin de rien toucher au milieu du lien, il ne touche qu'au début (accolades ou crochets ouvrants) et à la fin, sans jamais rien permuter. Verdy p (discuter) 13 juin 2016 à 20:50 (CEST)
L'ordre des liens est sans importance pour le bot. Par contre il faut que la documentation de {{Lien}} et {{Lien/Conversion automatique}} soient en cohérence pour éviter que le bot ne transforme la syntaxe dans un sens alors que la documentation en indique un autre.
Pour rappel, mon bot se contente de remplacer {{Lien}} par {{subst:Lien/Conversion automatique}} dans les articles où au moins un appel est devenu obsolète parce que l'article existe. Ce mécanisme permet d'utiliser template.py sans rien y changer, ce qui assure la maintenance du script (c'est une équipe de développeurs qui le maintient pour tous les wikis). De plus, pour rassurer Verdy p, cela évite que le bot « ne comprenne rien à la façon dont marche les modèles », parce que c'est le moteur Mediawiki qui gère tout seul la sélection des paramètres, dans les deux modèles.
La limite notable de ce mécanisme, c'est que le bot met en forme tous les appels, sans se préoccuper de savoir s'ils sont inutiles ou utiles. Lors du premier passage il « impose » donc une syntaxe. Si la documentation dit autre chose les contributeurs ne comprennent pas...
En conclusion, il est tout à fait possible de changer la documentation, et je n'ai pas d'avis sur la question. Par contre il faut que {{Lien/Conversion automatique}} suive l'évolution de cette documentation. Pour cela je peux éventuellement aider au besoin.
Notez qu'il est tout à fait possible d'utiliser {{subst:Lien/Conversion automatique}} pour créer un lien, sans avoir besoin d'être un bot. Personnellement je l'utilise souvent, comme cela je suis sûr de la compréhension des paramètres par le modèle.
Cordialement,
-- Hercule (discuter) 14 juin 2016 à 09:14 (CEST)
Notification Verdy p : Ce que dit Hercule est rassurant : il confirme que l'accord entre la documentation et le modèle de conversion est important mais que, si il faut absolument changer l'ordre des paramètres, c'est faisable. Nous voulons tous éviter la même chose (que j'appelle « boulot en plus » et que vous appelez « modification inutile ») et pour faire cela il y a la méthode simple (= l'accord entre la doc et le modèle de conversion) et la méthode complexe (= passer par l'équipe de développeurs derrière template.py).
Il resterait donc à trouver le « bon » ordre des paramètres (pour la doc et le modèle de conversion), mais à mon avis il n'existe pas... En effet, vous envisagez un certain ordre, Oliv0 envisage un autre ordre et moi je trouve que l'ordre proposé avant votre mise à jour avait aussi ses avantages. Ce ne sont pas de simples préférences : nous avons tous de bons arguments, nous avons tous un peu raison. Je pense qu'il n'y a pas un de ces arguments qui peut supplanter les autres ; c'est pourquoi selon moi « le bon ordre n'existe pas ».
Je reviens quand même sur des points qui m'intriguent dans votre réponse (je ne sais pas si nous regardons bien la même ligne dans mon exemple, celle avec le lien vers Michael Wood) :
  • Vous dites « Justement cet exemple démontre... » mais cet exemple ne correspond pas à la majorité des cas... J'ai dû éplucher les contributions d'HerculeBot pendant 10 minutes avant de trouver cet exemple et je l'ai choisi uniquement parce le lien vers Michael Wood utilise "langue=" en premier (comme dans votre proposition). Dans le diff il y a plein d'appels de Lien et ils n'étaient pas « fait avec l'ancien ordre » (sinon le modèle de conversion ne les aurait pas modifiés) : certains appels étaient "fr= lang= trad= texte=", d'autres "lang= fr= trad= texte=", d'autres "lang= trad= fr= texte=", d'autres "trad= fr= texte= lang=", etc. Cela prouve surtout que, même avec l'accord entre la documentation et le modèle de conversion, chaque contributeur a ses habitudes et ne consulte pas la doc tous les jours...
  • Vous dites « Avec le nouvel ordre, la transformation automatique ne touchait pas du tout à l'ordre » mais pourtant elle l'aurait fait puisque {{lien|lang=en|fr=Michael Wood|trad=Michael Wood (historian)}} ne respecte ni l'ancien ordre ni votre ordre.
  • Vous dites « Avec le nouvel ordre ... les paramètres français restaient inchangés et groupés à la fin ... en insérant juste ce qu'il faut pour garder au début les éléments du lien en langue étrangère, et la traduction française à la fin » mais c'est déjà le cas avec l'ancien ordre.
  • Vous dites « Ce que fait le bot n'a rien à voir » : en effet, dans mon exemple, l'objectif d'HerculeBot n'était pas d'appliquer le modèle de conversion. L'objectif était de bleuir le lien réforme bénédictine. Comme Hercule l'a expliqué, le mécanisme qui a permis de tenir cet objectif a aussi appliqué le modèle de conversion aux autres appels de Lien. Au final, le lien vers réforme bénédictine est correct et tous les autres appels de Lien sont homogénéisés (alors qu'avant cela les appels dans cet article utilisaient plein d'ordre d'arguments différents).
--NicoScribe (discuter) 14 juin 2016 à 16:55 (CEST)
Bonjour Notification Verdy p : Avez-vous lu les remarques d'Hercule ainsi que les miennes et / ou êtes-vous d'accord pour que l'on applique la solution la plus simple : le retour vers l'ordre {{Lien |trad = |langue = |fr = |texte= }} ? Cet ordre est conforme à vos remarques sur le rôle des deux premiers paramètres et des deux derniers paramètres. Cela fait plus de deux mois que la documentation du modèle est incohérente avec {{Lien/Conversion automatique}}. Si vous êtes d'accord, je veux bien m'occuper moi-même de l'inversion de « |langue = |trad = » vers « |trad = |langue = » dans la documentation. Cordialement --NicoScribe (discuter) 7 août 2016 à 23:52 (CEST)
Non, cet ordre n'est pas logique: "langue" et "trad" sont ensembles (et dans cet ordre !) pour former la cible du lien externe (en logique wiki, ça vient avant le reste), et "fr" et "texte" forment dans cet ordre le lien interne (sur ce wiki) et vont ensemble, là encore dans cet ordre conforme aux liens standards, texte devant être en dernière position pour le texte affiché en français: c'est bien cet ordre "langue|trad|fr|texte" qui est le plus sans surprise et facilite la mise à jour. Quand un article français est créé, ce sont les deux premiers qui sont supprimés il reste les deux derniers, et l'appel du modèle en tête est également supprimé en même temps que langue et trad; les diffs sont donc minimales). Verdy p (discuter) 8 août 2016 à 14:35 (CEST)
La doc ne contient rien de faux de toute façon. C'est juste une question de logique et compréhensibilité. L'argument "plus simple" ne tient pas, c'est exactement les mêmes paramètres, il y a les mêmes caractères, il n'y a que l'ordre qui change et qui n'a sinon aucun effet sur le code généré et ce qui est affiché puisque ces paramètres sont tous nommés et non positionnels. Verdy p (discuter) 8 août 2016 à 14:35 (CEST)
Notification Verdy p : je suis désolé parce que mon intervention du 7 août est ambiguë alors vous avez cru que je réouvrais le sujet de l'ordre des paramètres (dont nous avons déjà parlé en juin). En proposant l'application de « la solution la plus simple », je n'ai pas voulu dire que l'ancien ordre, {{Lien |trad = |langue = |fr = |texte= }}, est plus simple que votre ordre {{Lien |langue = |trad = |fr = |texte= }}. J'ai juste voulu rappeler que le retour à l'ancien ordre est la méthode la plus simple permettant d'obtenir l'accord entre la doc et le modèle de conversion. En effet, avec un retour à l'ancien ordre, il n'y a rien d'autre à faire : pas besoin de modifier {{Lien/Conversion automatique}} ou de passer par l'équipe de développeurs derrière template.py et pas besoin de prévenir les nombreux contributeurs utilisant ce modèle.
Afin que votre ordre reste dans la doc, je vous laisse voir avec Hercule comment adapter {{Lien/Conversion automatique}} ou passer par l'équipe de développeurs derrière template.py. Attention, j'ai peut-être mal compris cette étape, je me suis peut-être trompé le 14 juin en lisant le message d'Hercule.
Après, je pense qu'il faudrait signaler ce changement aux nombreux contributeurs utilisant ce modèle (aussi bien ceux qui sont habitués à l'ancien ordre, que ceux qui sont habitués à l'ordre du modèle équivalent en anglais, que ceux qui ne lisent pas la doc, etc.) sinon ils vont continuer leurs habitudes et cela génèrera encore du « boulot en plus » au moment où les articles seront corrigés par des contributeurs utilisant le modèle de conversion. Là aussi, je vous laisse faire. --NicoScribe (discuter) 12 août 2016 à 01:13 (CEST) + màj le 13 août 2016 à 08:43 (CEST)
Quel boulot ? Ce que font les bots n'a aucune importance, autre que d'éviter des modifs inutiles (un bot ne devrait pas être utilisé du tout pour juste permuter les paramètres, s'ils le font c'est nuisible pour tout le monde.)
Ensuite les rédacteurs humains ont besoin de comprendre le rôle des paramètres et comment ils s'associent: l'ordre documenté explique ça mieux que l'ordre arbitrairement imposé par des bots (ou par une ancienne doc qui était incomplète et oubliait des cas d'utilisation, à commencer par les cas les plus simples). Quand un humain commence à traduire un article il commence à importer les articles avec leurs liens tels quels. Ensuite il cherche à résoudre les liens rouges produits sur le site local, et alors vient la transformation du Wikilien standard en cet appel de modèle: il ne devrait pas y avoir à toucher la cible du lien rouge, qui reste à sa place, l'article anglais en revanche vient se mettre toujours avant le texte qu'on peut traduire immédiatement en français. Ce qui est perturbant c'est que ce qui était documenté mélangeait tout, à commencer par ne pas mettre le texte affiché en dernière position. De fait, cela trompait les rédacteurs, qui en plus se mélangeait les pinceaux entre les autres paramètres. Alors certes j'ai mieux documenté ça (et ajouté les cas manquants), mais pas touché du tout à la fonctionnalité, bref cela ne devrait avoir strictement aucun impact sur les Bots (c'est aux bots de comprendre, les rares auteurs de bots ont plus d'expérience technique que la plupart des autres utilisateurs, aussi je trouve ridicule que la résistance ici vient du comportement des bots, c'est totalement contraire à l'exprit de ce wiki qui est destiné à être fait et compris par des humains, même ceux n'ayant pas beaucoup d'expérience technique, et pour eux il y a maintenant l'éditeur visuel pour lequel il y a maintenant aussi les données complètes, et surtout correctes car ce n'était pas le cas avant) !
Je répète: je n'ai pas touché au modèle, qui traite toujours les paramètres de la même façon cette mise à jour de la doc n'a aucun effet visible sur ce qui est déjà utilisé dans le wiki. Verdy p (discuter) 14 août 2016 à 04:04 (CEST)
Notification Verdy p :
À propos de l'étape n°1 (la modification de la doc) :
  • Depuis mon premier message, je sais que vous n'avez touché que la doc et je ne m'intéresse qu'aux contributeurs humains, moi aussi.
  • Le « boulot » existe lorsque les contributeurs ne respectent pas la doc, ou lorsque {{Lien/Conversion automatique}} n'est pas en accord avec la doc. Dans ces deux cas, lorsqu'HerculeBot (par exemple) contribue à un article pour remplacer un {{Lien}} obsolète (parce que l'article existe sur notre WP), il va aussi faire ce fameux « boulot » : l'homogénéisation de l'ordre des paramètres dans tous les autres appels à {{Lien}} dans l'article. Si nous voulons tous éviter ce « boulot », ce n'est pas pour soulager les bots, c'est pour que leurs interventions soient plus limitées et plus lisibles pour les contributeurs humains. Hercule a expliqué et a donné les raisons de tout cela mieux que moi, ci-dessus, il y a deux mois.
  • À ma connaissance, aucun bot n'est utilisé pour juste permuter les paramètres.
  • Je pense que votre changement d'ordre des paramètres n'était pas indispensable (et a priori Oliv0, les habitués à l'ancien ordre et les rédacteurs de la doc du modèle équivalent en anglais le pensent aussi), mais mon avis est anecdotique, vous êtes plus expérimenté que moi et je vous fais confiance. D'ailleurs, lors de mon message ci-dessus, je considérais déjà que votre ordre resterait dans la doc. Je vous rappelais juste de ne pas oublier l'étape n°2.
À propos de l'étape n°2 (l'accord entre {{Lien/Conversion automatique}} et la doc) :
  • Depuis mon premier message, ce que je dis avec ma « ridicule résistance » (et qu'Hercule a confirmé), c'est que l'étape n°2 est indispensable.
  • Lors de mon message ci-dessus, j'espérais que vous notifieriez Hercule pour l'étape n°2, mais ce n'est pas grave, je vais le faire moi-même : Bonjour Notification Hercule : peux-tu s'il te plaît modifier {{Lien/Conversion automatique}} pour utiliser l'ordre {{Lien |langue= |trad= |fr= |texte= }} ?
  • Une fois que ce sera fait, j'utiliserai {{Lien}} avec le nouvel ordre des paramètres, sans problème.
Cordialement --NicoScribe (discuter) 14 août 2016 à 17:31 (CEST)

Bonjour,

Notification Verdy p :, votre « logique » n'est pas forcément celle de tout le monde. Un peu de modestie dans l'appréciation de vos intuitions ne vous ferait surement pas de mal. Surtout si cela vous permettait de ne pas dénigrer inutilement les autres participants au projet, comme les dresseurs de bot, qui font de leur mieux pour aider avec le moins de nuisance possible, en s'adaptant aux sensibilités du plus grand nombre...

Notification NicoScribe :, je vais voir si je trouve le temps de me lancer dans la correction de {{Lien/Conversion automatique}}, pour l'adapter à la nouvelle documentation issue, une fois de plus, de la volonté d'un seul contributeur sachant mieux que tous ceux passés avant lui ce qui est « logique ». Mais ce n'est pas dans mes actions prioritaires.

Cordialement,

-- Hercule (discuter) 16 août 2016 à 10:39 (CEST)