Discussion modèle:fr-rég-x

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.

Annulation de modification[modifier le wikicode]

Eihel, j’ai annulé ta modification car après celle-ci les prononciations indiquées simplement en premier paramètre n’apparaissaient plus. Je n’ai pas le temps de chercher la raison pour le moment et donc de corriger proprement le modèle, donc je laisse ce message ici. J’avais repéré cette erreur sur bricoteau mais toutes les pages utilisant le modèle étaient concernées. Pamputt [Discuter] 28 août 2023 à 05:21 (UTC)[répondre]

Ok. Merci du signalement Pamputt. J'ai essayé un truc suivant la page de doc, dont le principe n'est pas repris pour ces 4 param. C'est CKali qui en parlait sur Discord, ici pour casseau. Aahah ! j'avais justement précisé que je n'avais pas regardé l'affichage. Tord j'ai eu. Je vais essayer de regarder encore ça. À+ ―Eihel (discussion) 28 août 2023 à 08:26 (UTC)[répondre]

ps, pp, préfps, préfpp[modifier le wikicode]

Notification @Pamputt : à propos de ta suppression de code : tu dis « suppression de code douteux (ourquoi le paramètre peut-il changer de nom suivant la présence ou non d’un autre paramètre ?) ». Réponse : c’est un hack horrible de wikicode pour transmettre le paramètre ps (respectivement pp, préfps, préfpp) au modèle appelé (en l’occurrence {{fr-rég}}) si et seulement si on a reçu un paramètre du même nom avec une valeur non vide. Si on a reçu un paramètre ps=BIDULE, on transmet ps=BIDULE tel quel ; si on n’a pas reçu de tel paramètre (ou s’il est vide ?), on transmet psx= (évite de donner un paramètre ps= vide, ce qui est différent de ne pas donner le paramètre, et pourrait avoir un effet fâcheux). C’est atroce, mais sans un vrai langage de programmation… On trouve ce hack dans le code de nombreux modèles d’accord.

Là, tu viens de supprimer complètement ces 4 paramètres du modèle {{fr-rég-x}} ! Tu as vérifié qu’ils n’étaient utilisés par aucune page ? Maëlan (discussion) 2 septembre 2023 à 02:57 (UTC)[répondre]

Bonjour Maëlan, merci pour l'explication mais ce n'est toujours pas clair. Le modèle {{fr-rég}} n'utilise pas de paramètre « psx » donc à quoi cela sert-il de transmettre un tel paramètre ? J'ai restauré le code mais maintenant la catégorie Appel du modèle fr-rég avec le paramètre inconnu « psx » s'est bien rempli.
Concernant la vérification, je veux bien vérifier mais je ne comprends pas quel paramètre est ce que je devrais chercher. Pamputt [Discuter] 2 septembre 2023 à 06:36 (UTC)[répondre]
bonjour Notification @Pamputt et @Maëlan :, Dans les 1715 utilisations de ce modèle, aucune utilise un des 4 paramètres supprimés (il n'y a que préfpron qui est utilisé 50 fois). Certains critiques la création de catégories dans les pages où se trouve ce modèle (voir aussi la section précédente). De plus, les conditions énumérées sur la page de doc ne sont pas codées dans le modèle : s'il n'y a pas un des paramètre, c'est pron ou préfpron qui sont utilisés. Engendrer des erreurs n'est pas une bonne solution dans ce cas là. Cordialement. ―Eihel (discussion) 2 septembre 2023 à 10:03 (UTC)[répondre]
Notification @Pamputt : « Le modèle {{fr-rég}} n'utilise pas de paramètre « psx » donc à quoi cela sert-il de transmettre un tel paramètre ? » Justement ! Comme {{fr-rég}} n’attend pas de paramètre « psx », il ne change pas son résultat si on lui en donne un, alors qu’il le ferait si on lui donnait un « ps » vide (regarder le résultat de : {{fr-rég|exemple|pron=ɛg.zɑ̃pl|ps=}} ; le paramètre « ps » vide prend la priorité sur le paramètre « pron »).
Notification @Eihel : « Certains critiques la création de catégories dans les pages où se trouve ce modèle (voir aussi la section précédente). » Ah, c’est donc ça le problème. Contexte : Notification @Lepticed7 : a ajouté cette catégorisation au modèle {{fr-rég}} pour détecter de nombreuses mauvaises utilisations de ce modèle, suite à un signalement d’erreurs en lot de ma part. Deux réponses :
  1. Ces catégories devraient être cachées, mais je vois sur une page au hasard (bandeau) qu’elles ne semblent pas l’être. J’imagine que c’est ça votre vrai problème.
  2. Étant donné que ce hack est utilisé par une dizaine de modèles d’accord, il faudrait ajouter « psx, ppx, préfpsx, préfppx » (et peut-être quelques autres) à la liste des paramètres de {{fr-rég}} qui n’engendrent pas de catégorisation.
Par ailleurs, concernant le comportement documenté : c’est bien celui réalisé par le code actuel. On transmet au modèle appelé {{fr-rég}} les paramètres « (ps,) pron, préfpron » qu’on nous a donnés, et la chaîne de valeurs par défaut (ps → pron ; pp → ps → pron ; préfps → préfpron ; préfpp → préfpron) est réalisée par {{fr-rég}} lui-même. Tu peux t’en assurer en regardant le résultat de, par exemple, {{fr-rég-x|s=casseau|pron=ka.so|préfpron=PRÉFPRON|pp=PP}}
Aparté : comment tu as pu vérifier toutes les utilisations de {{fr-rég}} ? Ça m’intéresse s’il y a un outil pour ça, dont j’ignore l’existence.
NB : les discussions Discord ne sont pas accessibles quand on n’a pas Discord, donc ce serait possible de résumer le contexte / les infos utiles plutôt que de donner un lien Discord, de sorte que la discussion soit auto-contenue ici ? Maëlan (discussion) 2 septembre 2023 à 11:39 (UTC)[répondre]
Ayant fait le tour de tous les modèles d’accord, je me corrige moi-même : ce hack est utilisé par une douzaine de modèles d’accord mais {{fr-rég-x}} est le seul qui appelle {{fr-rég}}. Les autres appellent {{fr-accord-mixte-rég}} ou {{fr-accord-rég}} (les paramètres à ignorer sont alors « radpx, pronradpx, pron2radpx, pron3radpx »), ou {{fr-accord-mf}} (appelé par {{fr-accord-comp-mf}}, les paramètres à ignorer sont alors « ps2non, pp2non, préfpronnon, préfpsnon, préfppnon »). À l’heure actuelle, seul {{fr-rég}} fait une telle catégorisation. Maëlan (discussion) 2 septembre 2023 à 11:58 (UTC)[répondre]
J'ai vérifié le dernier dump et les paramètres « psx », « ppx », « préfpsx » et « préfppx » ne sont jamais présents dans le modèle {{fr-rég}} (ni dans {{fr-rég-x}} non plus).
Pour vérifier cela, j'ai développé un petit code de mon côté qui analyse les dumps et sort quelques analyses. Je prévois de fournir le code d'ici peu. C'est écrit en c++ qui est bien plus rapide que python pour parcourir le dump.
À part ça, je suis aussi preneur d'un résumé de la discussion Discord car je n'ai pas non plus de compte sur cette plateforme. Pamputt [Discuter] 2 septembre 2023 à 14:18 (UTC)[répondre]
Du coup, je viens de resupprimer les paramètres inutilisés. Pamputt [Discuter] 2 septembre 2023 à 14:24 (UTC)[répondre]
Mais « psx, ppx, préfpsx, préfppx » ne sont pas des paramètres reconnus par {{fr-rég}} (c’est bien le point !), ni par {{fr-rég-x}} d’ailleurs. Je reformule : en entrée, {{fr-rég-x}} supporte 4 paramètres « ps, pp, préfps, préfpp » ; en sortie il fournit à {{fr-rég}} ces 4 paramètres tels quels s’ils existent et sont non vides, ou sinon il lui fournit des paramètres « psx, ppx, préfpsx, préfppx », avec des valeurs arbitraires, que {{fr-rég}} va joyeusement ignorer. On aurait pu les appeler « xd, lol, mdr, ptdr », l’important est que ce ne sont pas des paramètres que {{fr-rég}} supporte normalement. Et il n’y a aucune raison de faire ça dans l’espace principal, en-dehors de la programmation des modèles.
Donc, c’est « ps, pp, préfps, préfpp » qui peuvent être fournis à {{fr-rég-x}} et c’est donc ceux-là dont il faut vérifier les occurrences dans le dump.
Par ailleurs, quand bien même ces paramètres ne seraient jamais utilisés à l’heure actuelle, je ne trouve pas que ce soit une bonne idée de faire diverger davantage encore les comportements des divers modèles d’accord, sans raison. Maëlan (discussion) 2 septembre 2023 à 16:20 (UTC)[répondre]
Je m'étais emmêler les pinceaux, ce sont bien les paramètres « ps, pp, préfps, préfpp » qui ne sont jamais utilisés dans {{fr-rég-x}} (« psx, ppx, préfpsx, préfppx » ne sont pas non plus utilisés).
Cela dit, j'ai restauré le comportement initial car la documentation mentionne bien la possibilité de ces paramètres.
Donc, il faudrait décidé de ce qu'on fait
  1. On supprime les paramètres et on met la documentation à jour
  2. On modifie {{fr-rég}} de sorte que si « ps » est vide, alors il ne fait rien ; c'est-à-dire qu'il laisse la valeur par défaut. Mais il y a peut-être une bonne raison à vouloir écraser la valeur.
Pour le reste,il faudrait voir ce qu'on doit faire avec les catégorie du genre « Appel du modèle fr-rég avec le paramètre inconnu « psx » ». Car en l'état, ces catégories ne sont pas très utiles car elles indiquent juste que le modèle {{fr-rég-x}} utilisent en hack pas très joli, mais elles n'aident pas à trouver les pages qui « profiteraient » de ce hack. Pamputt [Discuter] 4 septembre 2023 à 10:18 (UTC)[répondre]
Pour le problème des catégories moches, je vois 2 solutions.
  1. Ta solution 2 : « On modifie {{fr-rég}} de sorte que si « ps » est vide, alors il le fait rien ». Me paraît raisonnable en théorie, mais en pratique je trouve le code de {{fr-rég}} trop compliqué… J’ai pas envie de le décrypter et, comme tu dis, faire cette modif aura peut-être des conséquences inattendues.
  2. Ma solution 2 : « ajouter « psx, ppx, préfpsx, préfppx » à la liste des paramètres de {{fr-rég}} qui n’engendrent pas de catégorisation. » Plus simple, il suffit d’éditer la liste qui se trouve en bas du code du modèle : {{#invoke:paramètres|checkParametersFromTemplate|...}}. Je l’aurais bien déjà fait, mais je n’ose pas trop toucher à ce modèle utilisé par beaucoup de pages, je préfère attendre l’avis de Notification @Lepticed7 : qui a ajouté cette fonction.
Bonne journée ! Maëlan (discussion) 4 septembre 2023 à 14:57 (UTC)[répondre]
Salut. J’ai fait en sorte de transmettre les paramètres uniquement s’ils ont des valeurs. Voir [1]. Je pense que ça fonctionne. J’ai regardé quelques pages et il semble pas y avoir de problèmes. À+, Lepticed7 (À l’immortalité !) 4 septembre 2023 à 17:31 (UTC)[répondre]
Ah, si ça ça marche, c’est plus propre en effet, merci ! Maëlan (discussion) 4 septembre 2023 à 17:49 (UTC)[répondre]
Rectification : en fait ça ne marche pas, regarder le résultat de {{fr-rég-x|s=casseau|ps=ka.so}} par exemple. Maëlan (discussion) 4 septembre 2023 à 17:54 (UTC)[répondre]
Qu’est-ce qui empêche de faire ça [2] ? Lepticed7 (À l’immortalité !) 6 septembre 2023 à 07:34 (UTC)[répondre]
Petite correction : [3] Lepticed7 (À l’immortalité !) 6 septembre 2023 à 07:38 (UTC)[répondre]
A priori, rien. Merci pour la correction. Pamputt [Discuter] 6 septembre 2023 à 09:00 (UTC)[répondre]