Discussion catégorie:Pages avec des arguments non numériques dans formatnum

Une page de Wikipédia, l'encyclopédie libre.
Autres discussions [liste]
  • Suppression
  • Neutralité
  • Droit d'auteur
  • Article de qualité
  • Bon article
  • Lumière sur
  • À faire
  • Archives

Bistro[modifier le code]

Voir Wikipédia:Le Bistro/9 novembre 2020#Catégorie:Pages avec des arguments non numériques dans formatnum. Romanc19s (discuter) 10 novembre 2020 à 23:05 (CET)

Et la suite sur Le Bistro/10 novembre 2020 et Le Bistro/18 novembre 2020.

Maintenance[modifier le code]

Bonsoir, j'ai travaillé dernièrement sur cette catégorie. J'ai tout d'abord corrigé la plupart des modèles qui s'y trouvaient, ce qui a permis de régler quelques 20 000 cas.

J'ai ensuite recherché les différents cas d'erreurs (voir) et enrichi la description de cette catégorie.

Pour ce qui est des utilisations des formatnum dans les articles, j'ai corrigé les cas les moins nombreux, et il reste :

insource:/"{{formatnum:"\+?\-?[0-9 ]*","/ 1 040 (présence d'une virgule, impossible à corriger automatiquement)
insource:/"{{formatnum:"\+?\-?[0-9]+ [0-9]/ 1 055 (présence d'une espace)
insource:/"{{formatnum:" *'/ 676 (mise en forme)
insource:/"{{formatnum:"\+?\-?[0-9]+ [a-zA-Z]/ 673 (chiffre suivi d'un texte)

Notification NicoV : Peut-être pourrais-tu ajouter les corrections suivantes à WPCleaner ?

  • Fait suppression des espaces après le : ou le signe + ou -
  • Fait suppression des espaces entre les chiffres
  • Fait déplacement du pourcentage après les }}
  • Fait déplacement du (~|environ) avant les {{, ou tout texte avant les chiffres
  • Fait déplacement des mises en formes (italique ou gras)
  • Fait remplacement du tiret par un signe moins
  • Fait suppression du formatnum lorsqu'il n'y a que du texte
  • Fait suppression des doubles inclusions {{formatnum:{{formatnum:

Et peut-être ajouter leur détection puisque la catégorie est encombrée des utilisations indirectes via des modèles ?

Par ailleurs, il y a une longue liste (non exhaustive) de modèles auxquels une donnée non numérique est passée à un paramètre faisant l'objet d'un formatnum :

Ces modèles génèrent 60 000 erreurs :

  • Dans les cas peu nombreux, il suffit de corriger les articles.
  • Une autre solution serait de faire évoluer le modèle {{Unité}} pour :
    • détecter les références et les supprimer de l'appel du formatnum tout en les transférant après l'unité
    • gérer l'utilisation de "~" pour "environ"
    • gérer le cas de deux chiffres séparés par (et|\-|à|ou|sur)
    • formater correctement les unités de l'{{Infobox Planète mineure}}
    • gérer l'utilisation de "±" utile, par exemple, au modèle {{parsec}}

Je notifie Notification Od1n qui est le dernier à avoir modifié le Module:Unité.

Il faudra tout fois éviter de remplir la Catégorie:Page incorrectement traitée par le Module:Unité.

Je notifie également Notification Orlodrim et Ideawipik qui pourraient être intéressés par ce sujet, ou être de bon conseil.

Pour résumer : je pense qu'il est faisable de vider cette catégorie des utilisations directes à condition d'avoir une liste dédiée, et que cela demandera beaucoup de travail pour les utilisations indirectes.

--FDo64 (discuter) 14 avril 2021 à 22:24 (CEST)

Salut FDo64. Merci pour la notification. Je vais rajouter une détection dans WPCleaner pour ces cas. La liste dédiée sera dans Projet:Correction syntaxique/Analyse 567. Dans un premier temps ce seront uniquement les utilisations directes. Une fois la liste remplie, je verrais pour qu'il y ait des suggestions de correction et des corrections automatiques. Et on verra après pour les utilisations indirectes. --NicoV (discuter) 14 avril 2021 à 23:50 (CEST)
Bonjour NicoV Bonjour. Super, une nouvelle page à ajouter à ma liste de suivi ! Par contre, elle ne sera correctement remplie qu'à partir du prochain dump puisque j'ai fait beaucoup de corrections dernièrement.
Pour ce qui est des utilisations indirectes, je pense que la meilleure solution est de faire évoluer le modèle {{Unité}} et de remplacer tous les formatnum dans les modèles.
--FDo64 (discuter) 15 avril 2021 à 08:38 (CEST)
Bonjour FDo64 Bonjour. Pas gênant pour les pages déjà corrigées, la génération en tient compte même si elles étaient incorrectes dans le dump. La première génération de la liste devrait se terminer dans pas trop longtemps, je pense qu'on tournera autour de 10 000 pages. Si la liste est bonne, j'essaye de faire un premier ensemble de corrections automatiques d'ici ce soir. --NicoV (discuter) 15 avril 2021 à 09:06 (CEST)
Bonjour FDo64 Bonjour. Ca y est, première génération faite. Un paquet de faux positifs avec les appels de modèles ou de fonctions dans le formatnum:. A part ça, est-ce que tu vois d'autres faux positifs ? --NicoV (discuter) 15 avril 2021 à 09:29 (CEST)
Bonsoir NicoV Bonsoir. Je propose d'ignorer les {{formatnum:}} vides, cela ne provoque pas d'erreur et c'est souvent mis volontairement dans les tableaux en attendant d'y mettre un chiffre. --FDo64 (discuter) 15 avril 2021 à 21:32 (CEST)
Bonjour FDo64 Bonjour. La liste a été mise à jour. Mon bot fait une première passe de corrections automatiques, il me reste encore des cas à ajouter en correction. --NicoV (discuter) 16 avril 2021 à 09:06 (CEST)
Bonjour NicoV Bonjour, ça avance, bravo !
Comme je l'indiquais, une des principales difficultés sont les chiffres avec virgule. J'ai tout de même identifié quelques cas automatisables :
  1. Fait une virgule suivie de moins de 3 nombres : à remplacer par un point (exemple : {{formatnum:81,92}})
  2. Fait une virgule précédée de plus de 3 nombres : à supprimer à remplacer par un point (exemple : {{formatnum:3601,56}}) edit --FDo64 (discuter) 17 avril 2021 à 21:47 (CEST)
  3. Fait une série de trois nombres précédés et suivis d'une virgule : les deux virgules sont à supprimer (exemple : {{formatnum:2,440,986}}
--FDo64 (discuter) 17 avril 2021 à 08:33 (CEST)

┌─────────────────────────────────────────────────┘

Bonjour FDo64 Bonjour. Je continue à traiter les cas hors virgule pour l’instant, je m’y attaque après. Je ne comprends pas bien ton 2e cas : ça pourrait aussi être un remplacement par un "." (écriture d'un nombre à virgule en français). --NicoV (discuter) 17 avril 2021 à 12:00 (CEST)
Bonsoir NicoV Bonsoir. Je me suis en effet loupé pour le cas 2. Je l'ai corrigé. --FDo64 (discuter) 17 avril 2021 à 21:47 (CEST)
J'ajoute un cas :
  1. Fait les chiffres qui se terminent par ,000 : virgules à supprimer
Je n'ai pas trouvé d'exceptions. --FDo64 (discuter) 17 avril 2021 à 22:09 (CEST)
Bonjour FDo64 Bonjour. J'ai l'impression d'arriver au bout de ce que je peux faire automatiquement.
  • Possibilité de rajouter des mots à extraire à la fin (dans Projet:Correction syntaxique/Traduction#Erreur 567, error_567_suffixes_frwiki)
  • Peut-être rajouter la même chose pour les mots au début mais j’ai l’impression que c'est moins fréquent
Si il y a des motivés pour faire les corrections manuelles… --NicoV (discuter) 18 avril 2021 à 16:37 (CEST)
Bonsoir NicoV Bonsoir. Nouvelles suggestions :
  1. Fait une série de trois nombres précédés et suivis d'un pont : les deux points sont à supprimer (exemple : {{formatnum:1.305.300}}
  2. un chiffre suivi d'un texte : texte à déplacer après le formatnum (exemple : {{formatnum:200000 moutons d'or}}
  3. Fait il reste le cas du "environ" que j'avais signalé.
Et encore merci pour tout ce travail !
--FDo64 (discuter) 18 avril 2021 à 19:46 (CEST)
Bonsoir FDo64 Bonsoir. Pas sûr de la 2e suggestion, je crains qu'il n'y ait des faux positifs, je ferais un test en surveillant toutes les modifications. --NicoV (discuter) 18 avril 2021 à 22:36 (CEST)
Bonsoir FDo64 Bonsoir. J'ai décidé d'activer des corrections automatiques plus aggressives de façon temporaire en les vérifiant une à une. Ca inclut les textes après les chiffres et les 3 chiffres après 1 virgule même si ce ne sont pas 000. Ca devrait faire un gros nombre de corrections. Je mettrais sans doute à jour la liste demain ou lors de la prochaine analyse de dump. --NicoV (discuter) 20 avril 2021 à 23:46 (CEST)
Merci NicoV Clin d'œil. J'ai effectué également pas mal de corrections moi aussi.
Nouveau conseil : peux-tu ignorer les commentaires dans tes détections ? Cela génère des faux positif. Par exemple : {{formatnum:69<!-- pas besoin d'être plus précis que XX0 000 -->0000}}
--FDo64 (discuter) 21 avril 2021 à 00:00 (CEST)

┌─────────────────────────────────────────────────┘

Bonjour FDo64 Bonjour. La liste a été regénérée à partir du nouveau dump du 20 avril (descendu à environ 200 pages Sourire). Mon bot devrait refaire une passe de corrections automatiques pour traiter les nouveaux cas. Après ça, je pense qu'il me reste à :
  • Fait Ignorer les commentaires dans les détections
  • Fait Regénérer encore une fois la liste
  • Fait Voir si je peux encore traiter quelques cas moins fréquents en automatique
On tient le bon bout pour les utilisations directes. Après je regarde si je peux traiter une partie des utilisations indirectes. --NicoV (discuter) 21 avril 2021 à 16:56 (CEST)
Notification NicoV : Génial ! Je vais traiter ce que je peux aussi. --FDo64 (discuter) 21 avril 2021 à 22:06 (CEST)
Bonjour FDo64 Bonjour. Je pense que c'est bon de mon côté (j'ai rajouté les cas du type 12345.123,45). La liste est en cours de mise à jour. --NicoV (discuter) 24 avril 2021 à 12:01 (CEST)

┌─────────────────────────────────────────────────┘

Bonjour FDo64 Bonjour. La liste était descendue à 33 pages Sourire. Je commence à faire quelques essais avec les utilisations indirectes. La liste est en cours de mise à jour avec le paramètre affluence de {{Feuille de match}}. J'ai l'impression que je peux aussi en corriger une grande partie, on verra. --NicoV (discuter) 25 avril 2021 à 08:52 (CEST)
Bonsoir NicoV Bonsoir. Hier soir j'ai traité presque tous les cas qu'il restait, la plupart du temps en remplaçant le formatnum par le modèle {{Unité}}. Par exemple en utilisant les paramètres ± et e.
Suggestion : pourrais-tu faire plusieurs sous-listes afin d'avoir les utilisations directes à part ?
--FDo64 (discuter) 25 avril 2021 à 16:57 (CEST)
Bonsoir FDo64 Bonsoir. Merci pour le traitement des cas restants ! Je regarderais pour faire 2 listes (utilisation directe = 567, utilisation indirecte = 568). Je suis en train de refaire une passe de corrections automatiques (suppression des "," sur les affluences, ce sont forcément des nombres entiers) et mettre à jour la liste. Pour le modèle {{Feuille de match}} tu indiquais 4 481 pages concernées, combien en vois-tu encore après que mon bot soit passé ? (j'en ai détecté moins, mais je n’ai pas géré les redirects des modèles). --NicoV (discuter) 25 avril 2021 à 22:49 (CEST)
Bonsoir NicoV Bonsoir. Comme pour les virgules, tu peux aussi supprimer les &nbsp;
Les compteurs fournis proviennent de PetScan (actuellement 3402 pages) et contiennent donc les autres modèles. D'ailleurs ta liste ne semble pas contenir de modèles (245 cas). Si je prends l'exemple de {{Phase finale de la Coupe du monde de football 2018/Espagne - Russie}}, il y a affluence = {{formatnum:78011}} . Là, il suffit d'enlever le formatnum.
Je suis en train de regarder {{Infobox Planète mineure}} (44 161 pages) et je pense qu'il y a un chantier à lancer sur ce sujet. Je vais l'aborder sur sa page de discussion.
--FDo64 (discuter) 25 avril 2021 à 23:10 (CEST)
Bonsoir FDo64 Bonsoir. Effectivement, je ne scanne pas l’espace Modèle par défaut (car souvent compliqué d'aller faire des corrections automatiques dedans), je le rajouterais dans la prochaine analyse. J'avais regardé très rapidement {{Infobox Planète mineure}}, et je pense aussi que le modèle doit être aménagé (certaines valeurs sont souvent en notation scientifique, donc le formatnum n’est pas adapté). Pour l'instant, je me concentre sur les affluences Sourire. --NicoV (discuter) 25 avril 2021 à 23:17 (CEST)
Bonjour FDo64 Bonjour J'ai rajouté l'espace Modèle, mais pas mal de faux positifs. Les cas sont toujours plus compliqués à analyser (présence de fonctions, de variables…), des améliorations à faire dans la détection. Pour le modèle {{Feuille de match}}, est-ce qu'il faut ajouter un paramètre affluence_note ou similaire pour y déplacer les références ? --NicoV (discuter) 26 avril 2021 à 10:11 (CEST)
Bonjour NicoV, tu peux demander au projet:Sport ou projet:Football qui sont les principaux concernés. Je ne vois pas de contre-indication, mais il faudra bien mettre à jour la documentation et signaler la modification aux contributeurs habitués. En espérant que ce nouveau paramètre sera utilisé (les sources…). — Ideawipik (discuter) 26 avril 2021 à 20:19 (CEST)
Bonsoir NicoV Bonsoir. Le nom du paramètre serait plutôt affluence notes (les underscore sont à proscrire). Par contre, je pense qu'il faudrait privilégier la mise en place du modèle {{Unité}} à condition de trouver un développeur Lua qui arrive à gérer mieux les références. --FDo64 (discuter) 26 avril 2021 à 22:22 (CEST)
Notification NicoV : Sauf erreur de ma part, tu ne détectes pas les utilisations de formatnum ou {{nombre}} (voir statistiques). --FDo64 (discuter) 26 avril 2021 à 23:20 (CEST)
Bonsoir FDo64 Bonsoir. Effectivement. Pour les formatnum, je peux facilement corriger (je peux ignorer les fonctions, sauf formatnum). Pour les modèles ça va être plus compliqué car il y a des modèles à ignorer et d'autres non : ça veut dire faire une liste de modèles à ne pas ignorer ? Pas top je trouve. --NicoV (discuter) 26 avril 2021 à 23:32 (CEST)

┌─────────────────────────────────────────────────┘

Bonjour FDo64 Bonjour. Les listes sont maintenant séparées : Projet:Correction syntaxique/Analyse 567 pour les utilisations directes et Projet:Correction syntaxique/Analyse 568 pour les utilisations via un modèle. J'ai rajouté quelques modèles similaires à {{Feuille de match}}, cf. Projet:Correction syntaxique/Traduction#Erreur 568. Je détecte les formatnum imbriqués, mais pas les {{nombre}}. J'ai normalement supprimé les faux positifs liés à l’utilisation de paramètres {{{…}}} dans les modèles (sauf les cas compliqués comme un paramètre dans un nom de modèle). Mon bot est en train de faire une passe sur les 2 listes pour corriger ce qu'il peut en automatique, et il mettra à jour les listes ensuite. Je pense que je rajouterais une correction automatique pour les formatnum imbriqués. Et on verra après ce qu'il reste. --NicoV (discuter) 27 avril 2021 à 13:02 (CEST)
Bonjour FDo64 Bonjour. Les formatnum imbriqués ont été corrigés, et les listes mises à jour (elles ont bien diminué). --NicoV (discuter) 28 avril 2021 à 14:42 (CEST)

Signe moins[modifier le code]

Bonjour Notification FDo64 et NicoV. J'ai ajouté sur la page quelques exemples d'utilisation qui signalent un argument non numérique et corrigé la confusion entre un tiret et un signe moins typographique. Néanmoins, étant donné que le formatnum accepte le signe « + » ne serait-il pas logique qu'il accepte aussi le signe mathématique « − » au niveau du logiciel Mediawiki ?
Thibaut avait signalé sur le bistrot, cette « demande sur Phabricator pour prendre en charge le signe moins ». En réalité, il s'agissait davantage d'une demande pour la sortie (usage d'un "signe moins" dans le rendu affiché, voir aussi cet autre message) que pour l'entrée (acceptation d'un signe moins dans le contenu du formatnum). Croyez-vous que l'ajout d'une substitution interne du signe mathématique « − » (\u2212) par un « - » serait envisageable dans MediaWiki ? Faut-il reposer la question, similaire à celle-ci ? Sinon on peut éviter la catégorisation, pour les modèles, en faisant une double conversion Euh ?, ce qui permettrait d'ailleurs aussi d'accepter la virgule. Exemple: {{formatnum:{{formatnum:−5E8|R}}}}. Mais il existe peut-être des cas où cela poserait problème. Cordialement. — Ideawipik (discuter) 26 avril 2021 à 20:19 (CEST)

Bonjour Ideawipik Bonjour. Les discussions sur le fait que formatnum accepte d'autres symboles en entrée semblent compliquées car il faut que ça marche pour tous les wikis, toutes les langues, toutes les locales (et dès qu'on sort des caractères ASCII, c'est vite la galère : + est dans les caractères ASCII, le tiret aussi, pas le signe minus)… hors les règles de formattage des nombres ne sont pas universelles. Par exemple, je ne sais si le signe mathématique minus est universel… Et les discussions sur le rendu ne sont pas forcément plus simples, car les formatnum peuvent être utilisé dans des #expr et on retombe donc sur les mêmes problèmes de format en entrée. Je ne sais pas ce qu'il est raisonnablement possible de faire.
Pour la double conversion, je ne suis pas fan, car ça a l’air d'aller à l’encontre de la volonté de l’utilisateur : on passe d'une notation scientifique à une notation classique. --NicoV (discuter) 26 avril 2021 à 23:15 (CEST)
Bonjour NicoV et FDo64. L'exemple supra a été pris pour illustrer la question du signe moins, mais il est aussi intéressant pour l'exposant. Au passage, il donne exactement le même rendu que {{formatnum:−5E8}} (avec, dans ce cas, un signalement « non numérique » via la catégorie) ou {{formatnum:-5E8}} ou encore{{formatnum:-500000000}}.
J'avais aussi pensé à l'éventualité d'avoir des formatnum passés dans des calculs (#expr), mais en fait, la question n'est pas directement liée à l'acceptabilité du signe (en entrée du formatnum).
  • Si le nombre est formaté pour l'affichage "local" (output du formatnum), il est fort concevable que l'on puisse rencontrer un problème lors d'un calcul numérique, problème notamment lié aux virgules (typographie) et aux espaces générées qui n'ont rien de mathématique. On peut bien accepter cette convention "universelle" (nombre sans espaces et séparateur point pour la partie fractionnaire) pour les calculs et comprendre l'« Erreur d’expression » renvoyée. Exemples de cas non fonctionnels : {{#expr:{{formatnum:1000}}-1}} ou {{#expr:{{formatnum:1000}}-{{formatnum:1000}}}}. L'emploi du formatnum ne devrait intervenir qu'au dernier moment, pour l'affichage seulement.
  • De plus, le signe « − » est bien interprété par #expr. Ainsi {{#expr:1−1000}} donne bien « -999 » et {{#expr:−1000}} renvoie « -1000 ». C'est pourquoi, il parait étonnant que formatnum n'en fasse pas de même.
La double conversion n'était bien sûr pas imaginée pour une utilisation normale mais peut-être provisoirement si une évolution est envisagée. — Ideawipik (discuter) 27 avril 2021 à 09:39 (CEST)