Aller au contenu

Discussion Projet:Correction syntaxique/2023

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
  • Portail de qualité
  • Bon portail
  • Lumière sur
  • À faire
  • Archives
  • Commons

Détection de modèle appelé plusieurs fois

[modifier le code]

Bonjour, est-il possible de détecter les articles dans lesquels certains modèles sont appelés plusieurs fois, par exemple {{titre en italique}} ou {{voir homonymes}} (un exemple : [1] ? -- Speculos 13 décembre 2022 à 12:49 (CET)

Salut @Speculos, cherches-tu toujours une solution/liste ? LD (d) 28 juin 2023 à 11:07 (CEST)
Notification LD : oui si c'est possible; je n'ai pas eu à ce jour de réponse à la question ci-dessus (mais c'est pas spécialement urgent...). -- Speculos 28 juin 2023 à 11:14 (CEST)
J'ai lancé un script pour lister les pages avec au moins un doublon pour les modèles cités. Cela devrait prendre un peu de temps (~50 000 pages à analyser).
Est-ce qu'il y a d'autres modèles que tu souhaiterais voir ? Je lancerais après-coup.
On pourrait tabler sur les modèles de Catégorie:Modèle de bandeau renvoyant vers des homonymes, ce qui représente ~687 0000 pages à analyser, mais plus on ajoute des modèles plus la démarche est pertinente : souvent les pages qui utilisent un modèle en utilise un autre. LD (d) 28 juin 2023 à 12:13 (CEST)
Merci pour cette première analyse; on pourrait aussi détecter les doublons d'appels des modèles {{Liens}}, {{Langue du titre}}, {{Titre mis en forme}}, {{coord}}, dans un deuxième temps. -- Speculos 28 juin 2023 à 12:23 (CEST)
C'est noté.
En principe la liste des pages à traiter ne sera pas très longue ; sur env. 25.000 articles, seuls 6 ont des doublons de modèle (ex. Bettencourt-Saint-Ouen) et pas de doublons de paramètres en vue mais la tendance peut toujours s'inverser, qui sait. LD (d) 28 juin 2023 à 13:36 (CEST)
Utilisateur:LD/Brouillon/Liste/Modèle Doublon <= Hop-là. Je mettrai le reste à la suite quand ce sera terminé. LD (d) 28 juin 2023 à 16:47 (CEST)
Merci, je regarde ça. J'ai trouvé un autre cas de figure : plusieurs modèle {{ébauche}}, comme par exemple dans cet article, à rechercher à l'occasion -- Speculos 28 juin 2023 à 18:03 (CEST)
J'ai mis {{Coord}} de côté puisque Modèle:Infobox Pays appelle le paramètre coordonnées_capitale qui nécessite ledit modèle, et le modèle figure en haut de la page. Idéalement, il faudrait que je parvienne à exlure l'infobox voire d'autres (Modèle:Infobox Localité), histoire de ne pas faire tourner pour rien. Sinon, je peux recenser ceux qui ont trois fois le modèle dans l'article, en tablant que ce soit une erreur. LD (d) 28 juin 2023 à 20:03 (CEST)
En fait pour {{Coord}} ce n'est pas pertinent, il existe pas mal d'articles qui donnent des listes de coordonnées, comme par exemple Liste de cratères d'impact sur Terre ou Liste des îles de Singapour, donc pas la peine de rechercher des doublons de Coord à mon avis.-- Speculos 28 juin 2023 à 20:43 (CEST)
Il y a déjà Catégorie:Page avec des balises de coordonnées mal formées qui recense plus de 9000 pages. FDo64 (discuter) 29 juin 2023 à 12:15 (CEST)
Salut. Je n’avais pas vu la demande… Est-ce intéressant si je rajoute ça à WPCleaner, avec une génération à chaque analyse de dump ? --NicoV (discuter) 28 juin 2023 à 21:19 (CEST)
Salut @NicoV. Je dirais plutôt non.
Toutefois, il peut être intéressant d'avoir une suggestion de correction dans WPCleaner dès lors qu'un des modèles est appelé deux fois et avec au moins un paramètre identique. Le plus souvent il est possible de fusionner. La correction en elle-même n'est pas prioritaire : cela change d'avantage l'aspect visuel que le comportement de la page.

A la rigueur, plutôt oui si cela revient à lister ces modèles ({{Méta bandeau de note}}) lorsque qu'ils sont en-dehors de l'en-tête ; appeler de styles dont border-bottom est àmha inutile, alors que des alternatives existent ("amorce" de {{article détaillé}} par exemple). LD (d) 29 juin 2023 à 07:12 (CEST)
Bonjour. Ce type de recherche est également intéressant pour des modèles du type {{Palette}}, {{Portail}}, {{Succession/Début}} (et sa redirection {{Début dynastie}}) et {{Autres projets}}. Je n'ai jamais trouvé la regex magique pour les trouver.
Par contre, il doit y avoir des exceptions.
--FDo64 (discuter) 29 juin 2023 à 12:27 (CEST)
@FDo64, j'utilise un algorithme impératif (python) : je capture {{\s*(<model>)\b[^\n{}]*\s*}}, enregistre les occurences dans une variable puis je compte le nombre de fois où $1 est identique, si >= 2, alors c'est un doublon et je fais en sorte de le lister. Inconvénient de la méthode : lenteur d'exécution. Avantage : modulable.

Je pourrais dresser la liste après. Je me suis pas soucié des redirections de modèle, car il faudrait que je fasse un dictionnaire / une table d'équivalence, mais c'est aussi faisable.

Veux-tu que j'adapte un peu le code et te l'envoie (ça pourrait te servir ultérieurement) ? LD (d) 29 juin 2023 à 13:16 (CEST)
Notification LD : Je veux bien. Tu peux mettre ces listes dans Utilisateur:FDo64/Liste3. --FDo64 (discuter) 29 juin 2023 à 21:37 (CEST)
Salut. Bon, j’ai quand même rajouté ce type de détection à WPCleaner, la liste des modèles est configurable, et une liste sera générée à chaque analyse de dump. Je suis en train de récupérer le dernier dump, donc la liste sera probablement initialisée aujourd'hui. --NicoV (discuter) 2 juillet 2023 à 15:29 (CEST)
Merci NicoV Émoticône. Une liste de plus dans ma LDS ! --FDo64 (discuter) 2 juillet 2023 à 20:29 (CEST)
La liste est générée. J'ai l'impression qu'il faut que j'enlève {{Succession/Début}} de la liste des modèles concernés, et j’ai des doutes sur {{Palette}}, {{Voir homonymes}}… Il faut que je regarde plus en détail, mais n’hésitez pas à commenter. --NicoV (discuter) 3 juillet 2023 à 07:52 (CEST)
Notification Speculos, LD et FDo64 : Bonsoir. Je vais enlever {{Palette}} aussi, il y a trop de faux positifs avec des cas comme (117) Lomia, où le modèle Palette est aussi utilisé pour des successions. Je vais aussi ajouter quelques corrections automatiques, mais je pense qu'il restera beaucoup de cas à corriger manuellement. --NicoV (discuter) 3 juillet 2023 à 22:11 (CEST)
Notification NicoV : Ce cas reste une anomalie pour moi puisqu'au lieu d'avoir
{{Palette
|Succession astéroïdes | avant = [[(116) Sirona]] | après = [[(118) Peitho]]
}}
{{Palette|Petits corps du Système solaire|Système solaire}}
Il est mieux d'avoir
{{Palette
|Succession astéroïdes | avant = [[(116) Sirona]] | après = [[(118) Peitho]]
|Petits corps du Système solaire|Système solaire
}}
À la rigueur, ignorer dans un premier temps les palettes avec des paramètres, ce qui permettrait de corriger des milliers d'articles.
--FDo64 (discuter) 3 juillet 2023 à 22:57 (CEST)
+1.
Salut et merci. De mémoire la configuration est éditable par regex, donc si jamais on peut toujours exclure des cas peu pertinents, non ?
Sinon, c'est infinément plus rapide que ma méthode, je ne vais probablement pas finir mon script prochainement (mais je le ferais car il pourra servir d'appoint entre dumps). LD (d) 3 juillet 2023 à 23:01 (CEST)
Pour les {{Succession/Début}}, il ne faut regarder que ceux sans paramètres, comme dans André de Frédol. Et même avec cette restriction, il y aura plein d'exceptions, comme dans Bernard Grandmaître. Je vais donc regarder au cas par cas.
--FDo64 (discuter) 3 juillet 2023 à 23:11 (CEST)
Notification FDo64 : En fait, si on regroupe les palettes, ça change pas mal le rendu (succession masquée par défaut), et le nouveau rendu semble incorrect car ça donne l'impression que les 2 dernières palettes font partie de la succession. Mais je vais regarder pour ignorer les palettes avec paramètres nommés. --NicoV (discuter) 4 juillet 2023 à 11:21 (CEST)
Notification NicoV : Bonsoir ! Les modèles Succession servent à la navigation est sont un cas particulier de palettes. Cela ne m'a donc jamais choqué de les regrouper avec les autres palettes.
Et pour revenir sur ton « impression », je pense qu'on doit avoir la même avec d'autres palettes à paramètres ou avec une mise en forme atypique.
Pour ce qui est de ta liste, elle reste très intéressante, mais moins pour moi sans les palettes. J'ai donc éplucher la première que tu as générée et en ne traitant que les cas simples il y a potentiellement une centaine de Succession et 1300 Palette à regrouper.
Au final, je ne vois d'automatisable que des Palettes sans paramètres qui se suivent.
--FDo64 (discuter) 4 juillet 2023 à 20:37 (CEST)
Notification FDo64 : J'ai ajouté une option pour détecter le cas de modèles qui n'ont pas de paramètres nommés, ça devrait remettre dans la liste tous les cas de {{Palette}} sauf les successions. Je verrais aussi pour faire des corrections automatiques (le regroupement des paramètres de certains modèles, les modèles en double…). Je vais regénérer la liste. --NicoV (discuter) 4 juillet 2023 à 21:29 (CEST)
Notification Speculos, LD et FDo64 :. J'ai intégré quelques corrections automatiques à WPCleaner, et recréé la liste ce matin après les corrections automatiques. Il reste encore ~1300 pages dans la liste.
Je me demande si on ne devrait pas ignorer certains cas, au risque d'en rater : exemple, dans 2006 en sport, ça me semble OK d'avoir 2 appels au modèle {{Palette}}. Qu’en pensez-vous ?
A voir aussi si WPCleaner devrait corriger automatiquement des cas comme 1954 en Suisse, où la même palette est utilisée à 2 endroits. Mais pour ce modèle, il faut peut-être privilégier la deuxième palette, non ?
Pour {{Liens}}, il faudrait aussi que je ne détecte que les cas où les modèles sont identiques pour ignorer des cas comme Acheloma.
Il faut peut-être aussi que je configure le regroupement pour {{Confusion}}
Voilà… Si vous avez des commentaires ou idées, n'hésitez pas. --NicoV (discuter) 6 juillet 2023 à 09:32 (CEST)
Merci, ok pour ignorer les éphémérides ; pour les regroupements, je dirais que le plus sûr est de le faire quand deux modèles sont séparés par \n, et penser aux paramètres doublons (ex. William Walling (écrivain): {{homonyme|Walling|William Walling}}, {{Voir homonymes|Walling}}).
Sinon, Sport en France et d'autres utilisent des Palettes dans le corpus, bien qu'il soit recommandé de les placer en bas de l'article. Mais ça reste à traiter au cas par cas à mon avis ; puisque souvent il faudrait « rédiger » plutôt que d'effacer. Ou bien des spécificités comme Modèle:Palette MK qui est verticale dans SpectroMagic.
Donc pas de nouvelles idées ou commentaires Émoticône LD (d) 6 juillet 2023 à 13:45 (CEST)
Merci NicoV Émoticône.
Pour Palette, je reprécise ce que j'indiquais précédement. Je propose de ne détecter et de ne corriger qu'à deux conditions :
  1. Aucun paramètre
  2. Les deux appels se suivent (avec ou sans saut de lignes entre les deux)
J'ai aussi regardé les Succession/Début, que tu ne cherches plus à priori. Là il n'y aurait qu'une condition : aucun paramètre. Il y a des cas où c'est voulu qu'il y ait des répétitions afin de faire plusieurs palettes. Par exemple, pour séparer différentes disciplines sportives. Dans ce cas, chaque palette devrait avoir un titre, ce qui permettrait de les exclure de la recherche.
--FDo64 (discuter) 6 juillet 2023 à 22:41 (CEST)

Paramètres traceurs sur URL

[modifier le code]

Bonjour, serait-il possible de mettre en place une détection et une suppression de paramètres traceurs sur les URL des liens externes, du type gclid (Google), fbclid (Facebook), msclkid (Microsoft) ou dclid (Doubleclick) ? -- Speculos 28 juin 2023 à 09:13 (CEST)

Bonjour, je signalerais l'existence des dépôts open-source de Adguard dont les listes permettent a minima d'identifier de nombreux problèmes d'URL, sinon de réutiliser leurs filtres et expressions régulières.
Il y a aussi le cas des régies publicitaires comme Adwords (exemple), pas vu si c'était pris en charge par Adguard mais je pense que oui ; sinon, il existe aussi la question des ports (répétitifs dans le meilleur des cas 80 => http ; 443 => https) et le fait de transiter vers https quand c'est possible.
En théorie, c'est automatisable, en pratique il faut du temps. Irønie peut être d'une aide précieuse, son CodexBot travaille déjà sur des URLs. LD (d) 28 juin 2023 à 10:38 (CEST)
Merci. Il y a aussi les liens Google Books mentionnés dans le Bistro, et les liens dpgmedia: https://fr.wikipedia.org/w/index.php?go=Lire&search=dpgmedia&title=Sp%C3%A9cial:Recherche (ces derniers causent en plus l'apparition d'info non pertinente quand on utilise {{lien web}}), peut-être aussi des liens Twitter, Facebook... trop longs (ça peut aussi être traité manuellement par la patrouille RC) Philippe Depesch (discuter) 28 juin 2023 à 15:47 (CEST)
Si il y a une liste facilement compilable de paramètres traceurs, ça pourrait être ajouté dans WPCleaner. --NicoV (discuter) 28 juin 2023 à 21:21 (CEST)
Il faudrait veiller à ne le faire que si le lien est fonctionnel. Si un lien est mort mais a été archivé, changer les paramètres risque d'empêcher l'accès à la version archivée. Orlodrim (discuter) 28 juin 2023 à 22:13 (CEST)
Ca va être beaucoup plus compliqué à automatiser alors. --NicoV (discuter) 28 juin 2023 à 22:25 (CEST)
Il est peut-être possible de ne traiter que les liens récents (cas apparus dans le dernier dump) ?
Ironiquement, le fait que les contributeurs insèrent des liens en laissant des paramètres de tracking est sans doute plutôt nuisible pour les sites qui font du tracking : si le but est de savoir que X a cliqué sur le lien depuis la page Y, publier un lien avec un tel paramètre dans une page Wikipédia fait que le lien est visité par plein d'autres personnes dans un contexte totalement différent, ce qui diminue la qualité des données collectées Émoticône.
Orlodrim (discuter) 28 juin 2023 à 22:41 (CEST)
Il leur reste le referrer pour savoir d'où vient le clic. Philippe Depesch (discuter) 29 juin 2023 à 06:44 (CEST)
@NicoV : celles-ci me semblent utiles, sinon ce projet en a fait un .json (même s'il date de 7 mois, l'essentiel doit y être).
Je dirais même qu'il faut vérifier que le lien est fonctionnel et que le lien transformé le sera aussi ; en pratique des librairies comme Apache HttpClient mâche le travail.
Vu le second projet cité, ça peut être appelé en librairie sous python pour un bot, c'est assez simple en théorie. LD (d) 29 juin 2023 à 07:32 (CEST)

On en parle dans le Bistro: Wikipédia:Le Bistro/14 juillet 2023#Reprise d'une vieille bataille contre le « traçage de la navigation ». Philippe Depesch (discuter) 14 juillet 2023 à 16:59 (CEST)

Suggestion de détection : « Catégorisation technique indue dans le code »

[modifier le code]

Bonjour. On peut constater la présence indue en dur, dans le code de certaines pages, de catégorisations techniques qui devraient normalement être introduites exclusivement par des modèles appelés. Il s'agit généralement de catégories cachées, catégories de maintenance ou d'information technique, dont les suivantes :

Petite analyse des causes de ces présences :

  • des choses qui ressemblent à des substitutions (involontaires ?) de modèles. Exemple : Spécial:Diff/172917575. Solution dans ce cas : réintroduire les appels des modèles, si ces derniers ne sont pas déclarés obsolètes. Attention à vérifier les changements effectués sur cette partie depuis la modification "fautive".
  • la présence dans le code dès la création par traduction mw:Content translation/V2. Exemple : Spécial:Diff/205139224. Les deux catégories techniques ajoutées en dur correspondent à deux catégories dont faisait partie l'article en langue italienne, version Wikipédia sur laquelle elles n'étaient pas alimentées depuis une occurrence en dur dans le code de l'article mais via un modèle automatique.

Ideawipik (discuter) 6 août 2023 à 18:08 (CEST)

Suggestion de détection : « Classe CSS inexistante »

[modifier le code]

De nombreux articles sollicitent dans leur code des classes CSS qui n'existent pas sur la Wikipédia francophone. Ces présences sont souvent des résidus de traduction depuis une autre version linguistique. Serait-il opportun de retirer massivement ces éléments superflus ? Voici quelques exemples :

  • hintergrundfarbe1 à hintergrundfarbe11 près de 1 000 articles (recherche) ;
  • près de 600 prettytable dont 40 class="prettytable sortable" et un class="prettytable centered" (recherche)
  • class="nfvtTitleSTop", class="nfvtL" et class="nfvtR" (32 articles)
  • certains dans seulement une dizaine d'articles (ou modèles) environ :
    • class="t_nihongo_kanji", class="t_nihongo_help noprint" class="t_nihongo_icon", class="t_nihongo_comma", class="t_nihongo_romaji", class="t_nihongo_justif" (17 articles)
    • class="Person" (14 articles)
    • class="corpslibc", class="txtv", class="txtw"
    • class="BoxenVerschmelzen"
    • class="tracklist"
  • ou encore plus marginalement :
    • class="boilerplate metadata"
    • class="heat" et class="finals"
    • class="xl24"
    • class="texte-table" et class="titre-table"
    • class="stillactive"
    • class="tablegraph"
    • class="#FF0000" (erreur manifeste)
  • un doute pour class="table-na" et polytonic, cette dernière semblant obsolète sur Mediawiki.

Cette détection serait similaire à la numéro 112, intitulée « Attribut CSS incorrect ou obsolète ». En ce qui concerne les cas les plus courants, serait-il possible de demander à des bots qui retouchent déjà des éléments liés à la traduction, comme ceux de Framawiki ou JackPotte, de les retirer en même temps que leur action courante ?

Enfin, pas d'erreur, mais les références COinS (class="Z3988") pourraient être remplacées par des modèles : lire Wikipédia:Le Bistro/23 septembre 2010#Génération automatique des modèles {{Ouvrage}} et {{Article}}. De même, les <span class="reference-accessdate"> sont souvent associés à des bugs de traduction et devraient être remplacés en utilisant les modèles bibliographiques adéquats. — Ideawipik (discuter) 6 août 2023 à 18:08 (CEST)

Effectivement, merci pour cette info, je vais essayer d'ajouter ça à mon script qui nettoie les traductions quotidiennes. Cordialement, -Framawiki 6 août 2023 à 18:42 (CEST)
j'ai corrigé les cas les plus courants, et ils seront pris en charge si ils sortent de l'outil de traduction. Mais j'ai l'impression que c'est en majorité des copié-coller de wikipedia en allemand (hintergrundfarbe est dans leur Common.css) ou de sites externes (nfvtTitleSTop est uniquement dans les tableau d'investisseurs de sociétés). Cordialement, -Framawiki 7 août 2023 à 14:11 (CEST)
Merci Framawiki. La liste n'était pas exhaustive, on pourrait analyser un dépôt des articles pour lister davantage de cas.
Note : la section relative aux catégories, juste au-dessus, concerne aussi des traductions, notamment quant aux « Page utilisant P… », elle pourrait intéresser ton bot Émoticône. — Ideawipik (discuter) 7 août 2023 à 17:14 (CEST)
L'idéal serait de trouver un moyen de lister toutes les classes valides, pour fonctionner par liste blanche plutôt que par liste noire.
La règle 112 « Attribut CSS incorrect ou obsolète » ne prend en charge que quelques classes connues (dont une résultante d'un bug de l'outil de trad). Cordialement, -Framawiki 7 août 2023 à 17:52 (CEST)

Faux positifs pour l'erreur 513 « Lien interne dans un lien externe »

[modifier le code]

Bonjour NicoV. Par défaut, le modèle {{Date}} ne génère plus de lien interne, sauf dans certaines conditions :

  • s'il y a une thématique valide explicitement donnée, en paramètre 2 ou 4 selon la syntaxe adoptée ; exemples :

{{Date|3 janvier 2020|en sport}} ou {{Date|3|janvier|2020|en sport}} ;

  • si le modèle contient un paramètre liens à une valeur positive telle « oui », « yes », « 1 », « o », « y » et variantes de casse comme « OuI » ; exemple : {{Date|3 janvier 2020|liens=oui}}.

Pour éviter les faux positifs, je propose dans un premier temps de retirer le Date|date-|true de la configuration de la détection 513. Cette page concerne WPCleaner. Je ne crois pas que la détection des erreurs de Lint en dépende, mais je me trompe peut-être. Par ailleurs, Check Wikipedia ne contient pas cette détection.

Qu'en penses-tu ? Ensuite, il sera idéalement bien de réintroduire cette détection pour le modèle Date, en considérant les spécificités listées plus haut. — Ideawipik (discuter) 6 août 2023 à 18:08 (CEST)

Bonjour Ideawipik. Ol pour retirer la ligne dans la configuration de WPCleaner. A voir plus tard si je peux compléter WPCleaner pour gérer ce cas. --NicoV (discuter) 7 août 2023 à 06:54 (CEST)
Merci NicoV. La ligne sera retirée. Je me pose aussi la question du destin de {{Date rapide}}, sur Discussion modèle:Date rapide#Retrait des liens internes non thématiques ?. — Ideawipik (discuter) 7 août 2023 à 17:14 (CEST)

Espaces insécables

[modifier le code]

Bonjour, quelle est la règle concernant &nbsp;, faut-il les laisser sous cette forme ou les remplacer par des espaces insécables lors du passage de nos bots? AWB en ajoute [2], il me semblait pourtant que les codes HTML n'ont pas à être dans le wikicode. Cordialement, -Framawiki 7 août 2023 à 13:11 (CEST)

Bonjour Framawiki. A choisir entre un &nbsp; et un vrai espace insécable, personnellement je préfère le code HTML (qui est visible lors de l’édition). Mais dans la majorité des cas, je pense qu'il vaut mieux utiliser un modèle qui le fera (genre {{Unité}} pour l'exemple avec AWB). Mon bot vire un certain nombre d'espaces insécables quand ils sont inutiles. --NicoV (discuter) 7 août 2023 à 14:55 (CEST)
Idem. Ou pour des cas plus généraux, purement techniques, {{nobr}}. — Ideawipik (discuter) 7 août 2023 à 17:14 (CEST)