Discussion Wikipédia:AutoWikiBrowser/Typos/Archives/2016

Simplification formatnum

modifier

Bonjour à tous,

à cause de mauvais remplacement occasionés par les anciennes regex relatives à formatnum qui faisaient ce genre de truc: 1 437 034 -> 1 437 034

J'ai essayé de simplifier et généraliser le code avec ce diff: https://fr.wikipedia.org/w/index.php?title=Wikip%C3%A9dia%3AAutoWikiBrowser%2FTypos&type=revision&diff=120229377&oldid=120225947

Le invoke String replace va remplacer les chiffres avec espace par l'équivalent sans espace.

Faites moi signe si vous avez des soucis avec cette nouvelle regex malgré mes tests.

-- Chico75 (blabla) 6 novembre 2015 à 16:30 (CET)

Notification Chico75 : ça n'a pas l'air de mieux marcher, et ça ne marche pas partout :
Pour les nombres supérieurs à 999999, je me demande s'il ne serait pas possible de faire deux passages (voire plus pour les nombres plus grands, le second passage repérant {{formatnum:9999}} 999 et le modifiant en {{formatnum:9999999}}. Cordialement, Şÿℵדαχ₮ɘɼɾ๏ʁ 2 février 2016 à 08:39 (CET)
Je suis revenu à l'ancienne version qui marche aussi bien sinon mieux je pense. Cordialement, Şÿℵדαχ₮ɘɼɾ๏ʁ 21 février 2016 à 00:41 (CET)
Notification SyntaxTerror :: ça marche mal ces notifications, je n'ai rien dans ma liste concernant celle-ci, peut-être à cause des autres notifications sur la même page?
Sinon j'ai re-regardé le code et je pense voir ce qui causait le problème que tu as trouvé. Je referais des tests ces jours-ci pour voir si je peux améliorer. -- Chico75 (blabla) 24 mars 2016 à 04:52 (CET)
Notification Chico75 et SyntaxTerror : Pour info, j'ai créé une tâche phabricator liée à ce type d'utilisation, T130815, pour qu'il y ait une évolution côté AWB. --NicoV (discuter) 24 mars 2016 à 10:21 (CET)
Je ne suis pas spécialement expert AWB mais cette demande ne me semble pas possible avec les possibilités de l'API car elle ne traite pas les subts:
Et il n'y a rien dans AWB qui pourrait remplacer cette fonctionnalité de ce que j'en ai vu.
Je ne pense pas qu'on puisse s'amuser à traiter que la partie après subst, il y aurait sûrement trop de cas où ça ferait des trucs bizarres, surtout si le remplacement ne se fait que sur un bout de phrase/modèle, ce qui empêchera tout extension des modèles.
De plus cela pourrait avoir un impact sur les performances d'AWB qui devra faire un appel API en plus pour chaque 1er remplacement de typo, ce que les développeurs principaux peuvent juger bloquant pour la fonctionnalité.
J'ai aussi essayé de jeter un coup d'oeil à l'implémentation de l'API mais le code est vraiment obscur.
Enfin tout ça pour dire que je pense qu'il y a vraiment très peu de chances que ce demande aboutisse hélas :(
Notification SyntaxTerror : C'est vraiment bloquant si ça affiche {{subst:#invoke:String|replace|99999|%s|||false}}}} dans le commentaire de diff? Je comprend que ça puisse rebuter/faire peur à ceux qui ne connaissent pas les "parsers functions" (99% des wikipédiens probablement), mais ce qui compte c'est la modification et le rendu final je dirais non? -- Chico75 (blabla) 31 mars 2016 à 05:19 (CEST)
Notification Chico75 : Je n’ai jamais parlé de action=expandtemplates, mais de action=parse&onlypst. Expandtemplates ne traite pas les substs, Parse oui si on lui demande (onlypst) : je l’utilise dans le code de WPCleaner justement pour ces cas là. Exemple avec subst --NicoV (discuter) 31 mars 2016 à 06:49 (CEST)
Notification Chico75 : je sais pas trop, mais le but d'un diff c'est d'expliquer la modification, et là si 1% des gens comprennent il y a un problème. Le plus simple serait sans doute de supprimer le diff automatique avec la regex typo fixing, d'autres remplacement posent aussi des problème de compréhension, genre , → , ou les remplacement de <sup> qui n'indiquent que le 1er remplacement du genre (si je me souviens bien). En tous cas, le remplacement de la règle ne se justifie que si elle apporte un plus vraiment notable au vu du problème avec le diff, ce qui n'était pas le cas. Cordialement, Şÿℵדαχ₮ɘɼɾ๏ʁ 31 mars 2016 à 15:25 (CEST)

Apostrophe en tant que séparateur de milliers

modifier

Il a été fait mention par Nouill (d · c · b) dans une requête de bot de l'existence d'une notation suisse utilisant une apostrophe comme séparateur de milliers (par ex. 22'000 : ). Je ne sais pas s'il est possible de repérer les occurrences de ceci, mais je pense qu'il serait bien d'ajouter cette correction à la liste des typos. Je crains de faire des fautes ou des oublis, ma connaissance des regex n'étant pas encore très bonne, je laisse donc cela à d'autres plus compétents. Cordialement, Şÿℵדαχ₮ɘɼɾ๏ʁ 2 février 2016 à 08:39 (CET)

Notification SyntaxTerror : c'est possible de repérer les occurences avec une recherche sur un dump. Je ne peux pas le faire tout de suite mais j'essaye de regarder ça les prochains jours. L'ajout des les regex actuelles semble facile, dans les regex formatnum, il suffit de l'ajouter à la liste des séparateurs de groupes de chiffre qui est actuellement:
( |&nbsp;)
à
( |&nbsp;|')
Je testerai en même temps que le changement du message précédent. -- Chico75 (blabla) 24 mars 2016 à 05:02 (CET)
Notification Chico75 : j'ai depuis découvert comment utiliser les regexes et la recherche sur un dump avec AWB et j'ai déjà fait les changements dans les 129 articles concernés.
La regex que tu proposes semble convenir. Malgré tout, j'avais utilisé un modèle {{unité}} dans la plupart des corrections que j'ai faites, mais ça m'a demandé un sacré nombre de regexes pour arriver à un résultat satisfaisant (j'ai conservé ces regexes dans un fichier de préférences au cas où, mais il reste des améliorations à apporter). Si on se contente de mettre les nombres uniquement dans des mots magiques formatnum, c'est bien sûr beaucoup plus simple. Cordialement, Şÿℵדαχ₮ɘɼɾ๏ʁ 24 mars 2016 à 09:50 (CET)

Évidement

modifier

Bonjour, Je souhaitais signaler un faux positif : AWB corrige évidement en évidemment, ce qui est une erreur puisque le terme évidement existe aussi en langue française. Cordialement, --[[Utilisateur:|Lebronj23]] (discuter) 26 mars 2016 à 03:37 (CET)

Notification Lebronj23 : merci pour la remarque, c'est corrigé. Cordialement, Şÿℵדαχ₮ɘɼɾ๏ʁ 26 mars 2016 à 10:12 (CET)
Merci pour la correction :). --Lebronj23 (discuter) 26 mars 2016 à 13:08 (CET)

Simplification de la liste

modifier

Bonjour

Je ne modifiais pas cette page avant d'apprendre à utiliser les regexes il y a peu de temps, et la correction de la règle pour « évidemment » qui corrigeait aussi improprement « évidement » (voir message ci-dessus) m'a fait me rendre compte qu'on pourrait simplifier grandement la page : il y a beaucoup de règles en double pour le mot avec une majuscule ou sans. Ne pourrait on pas à la place utiliser une backreference pour cela ?

Par exemple, remplacer

<Typo word="évidemment" find="\b[eé]vid[aeé]mm[ae]n[ts]?\b" replace="évidemment" />
<Typo word="Évidemment" find="\b[EÉ]vid[ae]mm[aeé]n[ts]?\b" replace="Évidemment" />

par

<Typo word="évidemment" find="\b([eéEÉ])vid[aeé]mm[ae]n[ts]?\b" replace="$1videmment" /> ?

Vu le nombre de lignes que cela supprimerait, ça devrait accélérer un peu le traitement des pages. Cordialement, Şÿℵדαχ₮ɘɼɾ๏ʁ 26 mars 2016 à 10:22 (CET)

Notification SyntaxTerror : Le problème, c'est que la regex en une seule ligne ne marche pas... Elle ne remplacera par un "e" initial par "é" ou un "E" initial par "É"... --NicoV (discuter) 26 mars 2016 à 10:26 (CET)
En tout cas pour WPCleaner, ce qui accélèrerait le traitement des pages c'est de revoir les regex sur le unités en utilisant les subst et #invoke. --NicoV (discuter) 26 mars 2016 à 10:33 (CET)
En trafiquant un peu, on doit pouvoir faire une seule regex en conservant la capitalisation de la première lettre du mot. non ? -- Archimëa [Toc 2 Mi] 26 mars 2016 à 10:42 (CET)
Je ne vois pas comment on peut gérer dans une expression régulière des cas aussi complexes de remplacement d'un caractère ("e" devient "é", "E" devient "É", "é" ou "É" ne sont pas modifiés). Mais si il existe une solution, cool ! --NicoV (discuter) 26 mars 2016 à 10:53 (CET)
En effet, en y regardant, je crois que la détection est facile dans une seule regex, mais c'est le remplacement qui pose problème. -- Archimëa [Toc 2 Mi] 26 mars 2016 à 10:56 (CET)
Le seul truc que je vois serait bien compliqué : avoir un modèle qui met un accent aigu à une lettre ({{accent aigu}} ?), et subster l'appel à ce modèle dans le remplacement ({{subst:accent aigu|$1}}). --NicoV (discuter) 26 mars 2016 à 10:57 (CET)
Ah oui, pas bête, mais ca semble un peu compliqué pour pas grand chose, 2 règles changent pas grand chsoe finalement, sinon là il faut l'avis d'un spécialiste -- Archimëa [Toc 2 Mi] 26 mars 2016 à 11:11 (CET)
Notification NicoV : je ne comprends pas trop ta phrase « Elle ne remplacera par un "e" initial par "é" ou un "E" initial par "É"... », « evidemment » est fautif, il faut bien remplacer le « e » initial par un « é ». Cordialement, Şÿℵדαχ₮ɘɼɾ๏ʁ 26 mars 2016 à 11:57 (CET)
Notification SyntaxTerror : Oui, « evidemment » est fautif, et le problème est que la règle que tu proposes ("elle") ne détectera pas le problème et qu'elle ne proposera pas le bon remplacement : ([eéEÉ]) va matcher sur "e" et la règle proposera de le conserver tel quel ($1). --NicoV (discuter) 26 mars 2016 à 12:23 (CET)
Conflit d’édition — :
Si tu détecte dans la même regex des lettres capitalisées et non-capitalisées comme ([EeéÉ]), tu n'aura qu'une possibilité de remplacement par $1, donc pas de possibilité de proposer une lettre capitalisée, ou pas. -- Archimëa [Toc 2 Mi] 26 mars 2016 à 12:27 (CET)
Notification NicoV et Archimëa : ha ouéééééé... okay alors. Émoticône Şÿℵדαχ₮ɘɼɾ๏ʁ 26 mars 2016 à 12:33 (CET)

┌─────────────────────────────────────────────────┘
J'ai trouvé cette règle qui me semble bizarre dans ce cas (elle en me semble servir à rien à priori) :

<Typo word="égout" find="\b(é|É|E)gout(s?)\b" replace="$1gout$2" />

Ça m'amène à proposer une règle pour remplacer les majuscules non accentuées sur tous les mots dont la première lettre est accentuée et en majuscule :

<Typo word="Électrique" find="\bE(chelle|clipse|cole|comusée|glise|lémentaire|paule|querre|quipage|tincelle|toile)(s?)\b" replace="É$1$2" />

La liste n'est pas complète, c'est juste un exemple, mais ça permettrait de fusionner des lignes comme :

<Typo word="Économie" find="\bEconomie(s?)\b" replace="Économie$1" />
<Typo word="Église" find="\bEglise(s?)\b" replace="Église$1" />
etc.

Qu'en pensez vous ?

La ligne pour "égout" semble effectivement inutile, vu que le remplacement correspond à la chaîne trouvée.
Pour le regroupement, je ne sais pas trop :
  • Au niveau performance, la différence doit être faible (on ne fait le \bE qu'une seule fois au lieu de chaque fois, mais c'est une comparaison directe)
  • Au niveau lisibilité, c'est moins bien (que ce soit l’expression elle-même ou le nom que l'on va donner à l'expression)
  • Certains sont déjà traités de manière plus large, comme <Typo word="École" find="\b[EÉ]coll?e(s?)\b" replace="École$1" />
--NicoV (discuter) 26 mars 2016 à 14:04 (CET)
Égout provient d'une modification très très ancienne. --NicoV (discuter) 26 mars 2016 à 14:10 (CET)
Notification NicoV : ça permettrait de corriger quelques trucs de plus, même s'il est plutôt rare de trouver ces mots avec une majuscule (mais ça peut être le cas dans des tableaux par exemple). Niveau lisibilité, une fois que la liste aura été faite, il n'y a pas de raison de la modifier : des mots avec une première lettre accentuée ne sont pas ajoutés tous les jours dans le vocabulaire français. On peut aussi mettre la liste dans le nom de la règle, en note ou dans la documentation, sous forme de liste déroulante par exemple. Le problème est que je n'arrive pas a trouver la liste des mots français commençant par une lettre accentuée. Şÿℵדαχ₮ɘɼɾ๏ʁ 26 mars 2016 à 14:29 (CET)

Joseph-Arthur

modifier

Les prénoms composés débutant par Joseph était très populaires au siècle dernier. Tellement qu'on identifiait les individus par leurs initiales.

Voilà que dans plusieurs page, lorsqu'on donne les années de naissance et de mort d'un individu on retrouve la forme suivante :

1879-1936 J.-A. Lavoie

Le problème se situe dans la lignes suivantes :

<Typo word="Unité énergie" find="([0-9]+)( | +)?([0-9]+)?( | +)?([0-9]+)?( | +)?([Jj]oules?|J|kJ|MJ|GJ|TJ|PJ|EJ|[Kk]ilowatt-heure|kWh|kW⋅h|Wh|MWh|GWh|TWh|[Tt]onnes? d'équivalent pétrole|tep|ktep|Mtep|calories?|cal)\b(?!\|)" replace="{{unité|$1$3$5|$7}}" />

Celle-ci interprète 1936 J comme étant 1936 joules et propose le modèle unité.

J'aurais aimé proposer une solution, mais j'avoue ne pas comprendre le (?!\|) à la fin. Quelqu'un pour me renseigner ? ---- VänBrøøken (diskusjon) 6 juillet 2016 à 18:30 (CEST)

Que pensez-vous de remplacer (?!\|) par (?!\||\.-) ---- VänBrøøken (diskusjon) 7 juillet 2016 à 01:12 (CEST)

Exposant

modifier

Bonjour,

Fin 2008 cette modification avait introduit le remplacement systématique de la syntaxe <sup></sup> vers {{exp|}}. J'ai retiré cette modif à la suite de cette discussion avec Chico75 : d'un, ce n'est pas une typo que d'utiliser les balises html, de deux, quand bien même ce choix aurait pu se justifier en 2008 (comme Chico75 l'a argumenté, on pouvait éventuellement considérer que le rédacteur habitué à la syntaxe wiki souhaite garder cette même syntaxe en toutes choses), il est largement obsolète avec l'implémentation de l'éditeur visuel et pose des problèmes quand on souhaite utiliser ce dernier, ce qui est devenu le choix majoritaire des nouveaux arrivants.

En parlant de problèmes, je ne sais pas si c'est le lieu, mais à tout hasard : ça fait 3 fois que je vois des utilisations inappropriées du modèle "unité" pour transformer, par exemple, 180m ou 180m2 : hors, dans certains articles (notamment ceux sur les isotopes, mais je suppose que ce n'est pas le seul endroit), ces notations ne veulent pas dire "180 mètres" ni "180 mètres carrés". Je comprends bien que des erreurs occasionnelles sont inévitables quand on traite un grand nombre d'article, c'est juste la répétition de cette erreur particulière qui m'avait quelque peu fait tiquer.

Cordialement, 空 (discuter) 17 août 2016 à 19:34 (CEST)

Faux positif

modifier

Bonsoir, j'ai plusieurs fois des espaces ajoutés avant des liens internes, comme pour [[Emmanuel Carrère]], ''Werner Herzog'', Paris, Edilig, [[1982]] sur Werner Herzog. Cet règle semble ajouter un nouvel espace à chaque modification, sans s'arrêter. Bonne continuation --Framawiki ✉ 20 août 2016 à 20:47 (CEST)

Modèles Unité et Dunité

modifier

Bonjour, suite à cette discussion: , je viens voir avec vous si quelqu'un saurais rajouter le modèle Dunité (et pourquoi pas Tunité aussi pour les modèles en 3D) dans la liste des corrections. Je pense que ça pourrait être utile. Tearow (discuter) 1 septembre 2016 à 14:11 (CEST)

J'utilise dans AWB les règles suivantes :
  •  (?<= |\n|\()([0-9]*)(?: | +)?([0-9]+[.,]?[0-9]*)(?: | +)?[xX×*](?: | +)?([0-9]*)(?: | +)?([0-9]+[.,]?[0-9]*)(?: | +)?[xX×*](?: | +)?([0-9]*)(?: | +)?([0-9]+[.,]?[0-9]*)(?:(?: | +)?(m|mètres?|km|kilomètres?|mm|milimètres|cm|centimètres?|in|pouces?|pieds?))?\b
    vers {{volume|$1$2|$3$4|$5$6|$7}}
  • (?<= |\n|\()([0-9]*)(?: | +)?([0-9]+[.,]?[0-9]*)(?: | +)?[xX×*](?: | +)?([0-9]*)(?: | +)?([0-9]+[.,]?[0-9]*)(?:(?: | +)?(m|mètres?|km|kilomètres?|mm|milimètres|cm|centimètres?|in|pouces?|pieds?|minutes?))?\b
    vers {{Dunité|$1$2|$3$4|$5}}
mais il faut peut-être des adaptations pour les utiliser dans les typos, notamment pour la compatibilité avec WPCleaner.
— Zebulon84 (discuter) 1 septembre 2016 à 18:48 (CEST)
Merci pour la réponse, malheureusement je ne m'y connais pas pour pouvoir donner d'avis sur les typos mais je vous remercie d'avoir pris le temps de répondre avec votre propre règle AWB, j'espère qu'elle finira par être utilisé. Tearow (discuter) 1 septembre 2016 à 21:35 (CEST)
Bonsoir, je reviens car j'aimerais savoir s'il serait possible d'utiliser les paramètres Dunité de Rehtse pour enfin clore cette requête, je préfère demander n'étant pas vraiment familier des typos je ne voudrais pas créé de problème.--Tearow (discuter) 13 décembre 2016 à 21:26 (CET)
Je ne suis pas un spécialiste de programmation, ces formules ne sont qu'un bricolage pas optimisé, c'est la raison pour laquelle je n'ai pas chercher à les placer dans la page des corrections typos, mais que je les ai laissé dans une page perso. Certains cas ne fonctionnent d'ailleurs pas et je n’ai pas compris pourquoi (par exemple le cas de figure 33,5 x {{unité|33.5|cm}}, pour lequel je n’arrive pas à faire proposer {{dunité|33.5|33.5|cm}}). De plus, je me souviens que certains ne souhaitent pas forcément accumuler les propositions de ce type, car tout le monde ne va pas aussi loin dans les modifs avec WPC. Si tu le souhaites, Tearow, tu peux aussi créer une page perso de correction typo pour reprendre des formules, en attendant que quelqu'un de plus pointu les améliore et les intègre dans le fichier commun.--Rehtse (échanger) 13 décembre 2016 à 23:02 (CET)
D’accord, merci de ta réponse Rehtse je vais essayer de me créé une page de typo, même si je sais pas trop comment ça marche je vais découvrir, en attendant que quelqu'un réussisse (si ça arrive un jour). Je pense que la requête peut être également conclue aussi.--Tearow (discuter) 14 décembre 2016 à 19:52 (CET)

Mois et patronymes

modifier

Les mois de janvier à juillet sont aussi des patronymes d'un certain nombre de personnes. Cela signifie qu'il y a des faux positifs lorsque ces personnes sont citées. Je propose de n'activer la suppression de la majuscule que si le mois est précédé ou suivi par un chiffre.

Si personne ne s'y oppose, je modifierai ça dans quelques jours.

— Zebulon84 (discuter) 10 novembre 2016 à 17:52 (CET)

On peut peut-être également ajouter avant : si c'est précédé de : "mois de" (pour durant le mois de janvier et au mois de janvier) et "en" (pour en janvier) -- Archimëa [Toc 2 Mi] 10 novembre 2016 à 21:01 (CET)
Retour à la page du projet « AutoWikiBrowser/Typos/Archives/2016 ».