Mmmm comme c'était plus léger à l'époque !

Foutoir modifier

Boîtes de pandore ouvertes modifier

Trucs en cours modifier

(pour ne pas en oublier en cours de route)

Chantiers modifier

Trucs entamés modifier

pour essayer de ne pas oublier…

Articles à créer modifier

Informatique modifier

Littérature modifier

Cinéma modifier

Musique modifier

Ellen Allien n'est pas représentée comme il se doit sur le wiki... sacrilège !!!!

Manga modifier

Psyché modifier

Biographies modifier

Hitler modifier

Satan modifier

Miam modifier

Divers modifier

Wikipédia modifier

  • probablement encore des détails à améliorer, comparer avec la palette anglophone, bleuir des liens
  • finir d'apposer la palette sur tous les articles liés
  • à voir : chaque chanson de l'Alcoholics Anonymous Suite dispose de son propre article

Articles à améliorer modifier

Informatique modifier

Programmation modifier

Logiciels modifier

Personnalités modifier

Divers modifier

Littérature modifier

Musique modifier

Classique modifier

Populaire modifier

Cinéma et télévision modifier

Jeux vidéo modifier

Manga modifier

Biographies modifier

Tueurs en série modifier

Hitler modifier

Angleterre modifier

Médecine modifier

Another world modifier

Geek modifier

Non classés modifier

Équidés modifier

Trucs à arranger modifier

MediaWiki core modifier

JavaScript modifier

  • rendre MediaWiki:Gadget-Accessibility.js compatible avec l'aperçu rapide ; refs discussion
  • MediaWiki:Gadget-DeluxeHistory.js : suivi du code de migration du format localStorage :
    • la première partie est à garder bien longtemps, car il faut vraiment que ça migre tout le monde : si on a une entrée mais sans l'entrée "expiry" de mw.storage associée (et bien celle-ci, pas l'entrée "lastUpdate" du format précédent), l'entrée sera considérée comme permanente, donc pas mise à jour, donc reste permanente…
    • la seconde partie a son intérêt, c'est un "catch all" qui est même capable de gérer le point précédent (il supprime l'entrée si elle est permanente, par contre il ne nettoie pas l'entrée "lastUpdate"), et son fonctionnement est assez sûr ; mais c'est sale d'utiliser le format interne de mw.storage (notamment, ça peut changer à l'avenir), donc essayer de ne pas la garder trop longtemps
    • liens rapides concernant mw.storage : documentation, code, code sur GitHub
  • faire un script pour pouvoir visualiser une page sur les différentes skins, ainsi que sur la version mobile
    • UX : ajout d'un portlet, qui affiche un popup (lazy-load OOUI), avec tous les liens qu'il ne restera plus qu'à middle-cliquer
  • faire un script pour enlever les liens sur les dates, vu que c'est une demande assez récurrente
  • Utilisateur:Arkanosis/xdone.js : si jamais l'utilisateur a gardé la page ouverte longtemps, et qu'entretemps des sections ont été supprimées/déplacées (genre bot d'archivage), quand il va cliquer sur le lien xdone de la section, vu que ça fonctionne avec « rvsection=<numéro de section> », ça va exécuter l'API sur une autre section que celle voulue (!), ou bien aussi le numéro de section peut être devenu invalide.
    • j'y ai réfléchi, mais là, je ne vois pas comment on pourrait résoudre le problème…
  • Utilisateur:Od1n/WhatlinkshereDeluxe.js : permettre de configurer la limite avant interruption des requêtes (le « 100000+ »)
  • cartes géoloc multiples : augmenter espacement entre carte et liens toggle, pour éviter clics accidentels sur la carte au lieu du lien (a fortiori en version mobile)
  • remplacer le gadget ext.gadget.getStrDateToday par du javascript natif Date.prototype.toLocaleDateString()
    • exemple : 160725646
    • update : plutôt Date.prototype.toLocaleString() (exemple : 173975317)
    • rappel : attention, parfois c'est avec des underscores (e.g. "j_m_a"), notamment pour des urls ; il faut donc aussi implémenter mw.util.getUrl()
    • problème, sur le wiki il y a des fonctions locales (chercher "getStrDateToday" ainsi que "getStrDateCeJour") qui traitent aussi les numéros de semaines
      • pour le code qui va bien, ça se trouve ici.
      • le code est compliqué et il va bien falloir le mettre quelque part…
      • on peut utiliser une IIFE, pour ajouter un function scope, permettant de garder des variables, au lieu de tout calculer à chaque appel de la fonction
        • pas forcément une bonne idée : penser au cas d'une page restant ouverte longtemps, avec un script qui s'y exécute en ultérieurité
  • créer un script pour disposer de liens « modification précédente / suivante » toujours positionnés au même endroit, pour pouvoir naviguer plus facilement entre les diffs (là les liens se décalent verticalement, selon la longueur des résumés de diff)
  • trouvé pourquoi ça ajoute un <div id="toolbar"> vide au dessus de la zone de modification, c'est parce que le module CommonEdit a une dépendance sur le module MonobookToolbar, et donc ben ça l'exécute
  • FOUC dégueulasse le retour, cf. 153050677 et 153050900
  • Utilisateur:Arkanosis/xdone.js : ajouter une "user option" pour ajouter une demande de confirmation au lieu d'exécuter sans prévenir
  • MediaWiki:Gadget-ExternalSearch.js :
    • lorsque input vide :
      • les liens devraient envoyer vers les vraies homepages des moteurs de recherches, sans paramètres
      • les liens ne sont actuellement pas left-cliquables
    • lorsque input rempli, les hrefs de ces liens devraient contenir la recherche en cours :
      • recherche middle-cliquable
      • plus joli / moins surprenant dans la status bar
      • mais attention aux perfs : c'est à faire en input onchange... notamment, mettre en cache les éléments DOM ; un debounce pourrait aussi être bénéfique
    • c'est con de mettre des radios pénibles à cliquer, alors que ça fait pareil (mais en beaucoup moins chiant) si on clique directement sur les liens
      • remplacer tous ces radios par une simple série de liens : « Recherche externe : GoogleBing • etc. »
    • à propos, origine préhistorique : 9447902, 31573257
  • MediaWiki:Gadget-CatRename.js :
    • Je peste à chaque fois à cause du bouton "Renommer" placé à un endroit complètement tordu
    • … et qu'à chaque fois je clique par erreur sur le bouton "… ou faire faire la tâche par un bot", avec edit inopiné à la clé
    • évidemment j'avais déjà regardé, et le problème est au niveau de l'OOJS-UI mes couilles, qui n'est pas flexible même pour simplement positionner un putain de bouton
  • scripts de toolbars : du point et de la mise au propre à faire, en particulier concernant les race conditions
  • MediaWiki:Gadget-verifEbauche.js : requêtes API largement optimisables
    • ✔️ fait, voir modifs d'octobre 2022, et en particulier 197899466
    • documentation API templates
    • avec &tltemplates=Modèle:Ébauche, hop on ne chope que ce qui nous intéresse
    • on pourrait aussi interroger pour toutes les pages (au lieu d'une requête par page), mais attention :
      • nombre de pages en un coup à limiter à 50 (déjà eu cette problématique, voir Utilisateur:Od1n/ProtectionsModeles.js)
      • nombre de templates limité (tllimit) (à paginer ?), et la limite est globale pour toutes les pages interrogées
      • mais avec le &tltemplates=Modèle:Ébauche, ça change la donne…
      • d'autre part, les liens ne seraient plus coloriés progressivement, mais par gros chunks (pas un problème en fait)
    • on pourrait aussi faire en sorte de ne pas interroger plusieurs fois pour la même page
    • empêcher plusieurs exécutions simultanées ?
    • pour inspiration, gadget similaire, au code très propre : MediaWiki:Gadget-verifHomon.js
  • MediaWiki:Gadget-Evaluation.js :
    • permettre de saisir les projets à ajouter, au lieu d'avoir à configurer une liste figée dans le javascript utilisateur…
    • idéalement, avec autocomplete et/ou vérification existence du wikiprojet
  • Liens de changement de carte de géolocalisation (par exemple dans les infoboxes de villes) :
    • garder en "placeholder" le lien de la carte actuellement affichée, parce que là c'est laborieux pour s'y retrouver quand on switche (obligé de lire les libellés, au lieu de "repérer spatialement")
  • MediaWiki:Common.js :
  • Projet:Scripts et gadgets/Refonte Common.js avec jQuery :
    • "charogner" cette page s'il y a des trucs à éventuellement récupérer dessus
    • puis kicker cette page qui n'est plus à jour et me complique régulièrement la maintenance
    • et retirer sa mention dans l'en-tête de MediaWiki:Common.js
  • mw:ResourceLoader/Core modules : un bon paquet de proprage à faire sur cette page…
  • Wikidata, d:User:Od1n/sortValues.js (fork de d:User:Seb35/sortValues.js) :
    • si chacune des deux lignes a une date, comparer les lignes selon la date
    • sinon, en fallback comparer les versions, comme déjà actuellement
      • liens stack overflow : 47823116, 47917031
      • a priori, c'est la version "fluent avec padding" qui est la moins pire des deux
    • la difficulté c'est de récupérer simplement la putain de date, et idéalement directement au format ISO
    • éventuellement poster un message pour demander si quelqu'un a la technique qui va bien pour obtenir la p— de date
  • rendre les tables avec "mw-collapsible" togglables avec clic sur tout le caption, comme j'ai déjà fait pour d'autres systèmes déroulants (palettes, etc.) dans le Common.js
  • dans MediaWiki:Common.js, remanier le code "Diaporama" (pour {{Animation}}) :
  • BoutonsHelpers.js : jQuery UI déprécié… ces boutons étant indispensables, agir proactivement sans attendre que le module disparaisse
    • MediaWiki UI lui aussi déjà déprécié (la bonne blague)
    • OOjs UI une PITA à utiliser, comme toujours la programmation d'UI avancée avec des widgets est loin d'être des plus agréables…
    • du coup, réfléchir à une nouvelle interface sans tout ce bazar, sans dialogs, plus simple mais en restant agréable d'utilisation
  • Dans les historiques, rendre le bouton « Comparer les versions sélectionnées » middle-cliquable
  • DeluxeHistory/HistoryDeluxe : j'utilise actuellement mon fork perso (refs Utilisateur:Od1n/common.js, Utilisateur:Od1n/DeluxeHistory.js, Utilisateur:Od1n/DeluxeHistory.css)
    • l'expérience montre que les codes des forks ont tendance à moisir rapidement, et que ce sont des plaies niveau rajout de maintenance
    • donc, migrer vers le gadget upstream (MediaWiki:Gadget-DeluxeHistory.js)
    • chargement (continuer à charger via le common.js ? ou alors cocher le gadget dans les préférences ?)
      • comme d'habitude, faire en sorte de n'exécuter que lorsque nécessaire
      • dans le common.js, on pourrait faire mw.loader.load('ext.gadget.DeluxeHistory'), probablement plus performant (cache Resource Loader) que importScript()
        • mais dans ce cas, mw.user.options.get('gadget-DeluxeHistory') est false, et le CSS est chargé deux fois (une fois par le ResourceLoader, puis une fois par le JavaScript)
      • pour rappel, en.wiki a un système avec des sous-gadgets hidden "machin-core"
    • configuration (affichage sur liste de suivi ?)
    • attention : les entrées localStorage n'ont pas le même nom, penser à nettoyer une fois le switch accompli
  • newCollapsible (js, css) :
    • fork pas maintenu, n'est plus à jour par rapport à la version upstream (notamment, risque de problèmes divers de compatibilité)
    • activé par défaut pour tout le monde…
    • cause des warnings dans la console javascript…
    • l'idéal serait de supprimer le gadget, mais à défaut, on pourrait assez facilement supprimer les warnings avec cette nouvelle feature : Gadget peers
    • pour prévention étourderie : utilise des classes différentes (e.g. fr-collapsible vs. mw-collapsible)
    • exemples d'utilisation : {{Wikiprojet}} - PHP#Historique des versions
    • version upstream : historique 1 - historique 2
    • l'un des soucis principaux, la gestion des table captions, a été corrigé en upstream : ba8f2a605c8d
    • petit souci de mise en forme, à éventuellement corriger en local en attendant fix upstream : There should be a space between span.mw-collapsible-toggle and its preceding content
      • patch en attente : gerrit:338045 (février 2017, si jamais ça traîne des mois : relancer un coup, mettre du CSS local en attendant…)
  • encore des réparations à faire : wikt:Wiktionnaire:Questions techniques/février 2017#Mise à jour de MediaWiki:Gadget-searchEngines.js
  • pouvoir personnaliser le nombre de palettes avant autocollapse (default 1)
    • plus clair : nombre de palettes déclenchant l'autocollapse (default 2)
    • race condition ordre exécution Common.js / JS perso : qui peut le plus peut le moins, supporter les deux cas de figure
    • à première vue il faudra une légère refactorisation dans le Common.js, de sorte à avoir une fonction dédiée à l'initialisation des états toggle et pouvant être re-appelée en cas de changement valeur autocollapse
  • tooltipRef (code, css, documentation) :
    • les liens externes dans les tooltips n'ont pas l'icône à droite ✔️
    • utilise le module jquery.ui.position qui est signalé comme déprécié
    • fonctionnalités dans le mode par défaut "clic pour ouvrir" (doivent être configurables) :
      • pouvoir garder plusieurs références ouvertes
      • pouvoir fermer la référence en cliquant en dehors
    • fonctionnalités dans le mode "ouverture au survol" :
      • ne pas fermer si ensuite survol du contenu de la référence (parce que là on ne peut pas cliquer sur les liens)
      • performances au chargement page (redondance sélecteurs jquery)
      • si on quitte-revient rapidement sur la réf avant fin timeout, le tooltip est quand même supprimé puis réaffiché vu qu'il y a un close dans la function open
  • C'est toujours la m*** pour s'y retrouver dans les onglets navigateur
    • virer le suffixe « — Wikipédia », toujours ça de pris pour alléger
    • changer la favicon, par exemple :
      • première lettre titre page (sans namespace) (mais pourrait-on aussi caser le namespace ?)
      • + couleur différente (en background ?) pour actions (modification en cours, historique, diff…)
      • et sans oublier les pages spéciales (liste de suivi, contributions…)
  • LiveRC :
  • Économie de la requête de MediaWiki:Common.js/edit.js, en le transformant en gadget hidden ?
  • TagFilterDeluxe :
    • Lien pratique : listing API des tags
    • Il y a des tags en doublon, différenciés uniquement par la casse, exemple : « Suppression de références » et « suppression de références ». Dans cet exemple, seule la version lowercase est fonctionnelle, il faudrait vérifier si la situation est la même avec chaque doublon. Bien entendu, trouver l'origine de ces doublons et la corriger.
  • Utilisateur:Od1n/WhatlinkshereDeluxe.js : en checkant pour un modèle inexistant (lien rouge), il semblerait que les pages incluant ce modèle soient comptées en double : une fois en inclusion et une fois en lien
    • En fait, toute page contenant un lien et une inclusion est comptée deux fois
  • Les pages chargées avec des liens #ancrés se positionnent pas correctement sur l'ancre. Peut-être un JS qui interfère. (pensée de l'instant : purée, c'est vraiment casse-couilles ce truc)
    • un workaround a été implémenté : Common.js, DIMS 1, DIMS 2
    • le $(document).ready est redondant vu qu'il y a le $(window).load
    • idéalement il faudrait exécuter plus tôt que le $(window).load, mais je doute que cela soit possible
  • MediaWiki:Common.js/edit.js :
    • fonction addCharSubsetMenu : envisager le rajout d'un event à la keyup pour mettre à jour l'UI lorsque défilement au clavier
    • nombreuses choses améliorables dans ce fichier
    • conversion en "gadget hidden" ou un truc dans le genre, de sorte à ne pas ajouter une requête http
    • j'avais fait quelques jqueryfications de code, mais pas satisfait à cause de l'impact sur les perfs
    • déluge de race conditions avec les codes utilisateur et gadgets rajoutant des charsets, actuellement c'est tout pété
    • restauration position du <select> : pour limiter les "local storage set" (et donc surtout, les écritures disques, ssd parano), mettre un throttle/debounce (de sorte à ce que ça enregistre quand même bien la valeur dans les différents scénarios d'utilisation ; explication visuelle)
  • Gadget à voir : ContribColors (ainsi que le fork se trouvant en pdd)
  • Gadget pour ajouter un <select> de namespace devant la zone de recherche en haut à droite ✔️ fait
    • ajouter un système de cache
    • highlight aussi si saisie "cross-namespace", d'alias namespace ou de namespace canonical
    • à corriger : « saisie sans namespace puis validation avec Entrée » envoie sur la page de recherche…
    • rappel : les cookies d'HistoryDeluxe ajoutent plus de 4 ko d'overhead à chaque requête Oh !
  • Popup pour visualiser rapidement les références
  • Demande de modularisation des modèles déroulants par Dr Brains sur WP:DIMS ✔️
  • Ne pas scanner tout le document mais seulement depuis l'id du contenu de l'article... Lien très utile : Projet:JavaScript/Développeurs
  • Projet:JavaScript/Aide API : mise à jour 1.17
  • Gadget DeluxeHistory (noticecode JScode CSS) :
    • (2017-11-16) le gadget est exécuté sur toutes les pages, il faudrait exécuter moins de choses lorsqu'il n'est pas utilisé, en particulier la récupération des données du localStorage
    • Voir aussi la version de Dr Brains : Utilisateur:Dr Brains/HistoryDeluxe.js
      • C'est étrange, avec ce script Dr Brains apparaît en bleu (exemple), pourtant il ne semble pas y avoir de traitement spécifique Émoticône ah ah... et moi j'apparaît en jaune ! Émoticône simple inversion (volontaire ou pas ?) dans le CSS
      • comportement bizarre lors de la sélection de versions à comparer (input radio), y'a une ligne qui perd sa couleur
        • apparemment conflit avec scripts généraux du wiki (la classe ajoutée au <li> est overwritée), a priori il faudrait donc faire comme l'ancienne version du script : créer un <div> à l'intérieur du <li>
        • s'est corrigé tout seul Émoticône MediaWiki 1.18 ?
    • répercuter les modifs du 22 août 2011 (et éventuellement ultérieures, au moment de la lecture du présent message) de Utilisateur:Dr Brains/HistoryDeluxe.js (d · h · j · )
    • charger le script seulement lorsque nécessaire (pages Spécial: ?)
      • I mean, actuellement la lecture du cookie est effectuée sur toutes les pages
      • voir pour cette histoire de multiple submit POST après le login
    • corriger bug lorsque présence d'une révision masquée (discussionexemple) (et penser aussi : si pas de lien sur "actu / diff")
    • ne marche pas si une seule ligne et celle-ci faite par IP (exemple)
    • les icônes marchent pas ?
    • documentation pas à jour : Wikipédia:Historiques en couleur (la partie avec l'installation manuelle dans le monobook.js)
    • à voir – les admins ont des pitites cases en plus ?
  • Gadget BandeauxPortails (noticecode JSéchange sur ma pddencore échange) :
    • navigation clavier "up/down" ?
    • performances autocomplétion
    • charset avec IE
    • une requête ajax à chaque affichage d'article (fonction BandeauxPortails_Update), voir s'il serait possible de faire sans (ajouté ici)
  • SommaireCompactCategorieDeluxe aurait besoin d'un peu de "modernisation" du code
  • Spécial:Préférences#mw-prefsection-gadgets section « Caractères spéciaux » :
    • la blinde de race conditions à corriger, c'est bon à tout redévelopper en asynchrone
    • sans oublier que c'est aussi utilisé (enfin… c'est actuellement pété) dans des javascripts utilisateur

Modèles et catégories modifier

  • après passage en production de T180911 (dans MediaWiki 1.42.0-wmf.15), on pourra utiliser talkNsText dans Module:Talkpageheader (refs 142747801)
  • il s'avère que Module:TableBuilder est généralement détourné de son rôle initial pour en faire un "string builder"
    • le rôle initial, c'est une interface "fluent" pour table, vu que sinon il faut faire table.lafonction(lavariable, ...), la syntaxe lavariable:lafonction(...) n'étant pas possible avec les tables
    • création d'un module StringBuilder, avec vraiment le minimum en méthodes exposées :
      • méthodes de bases : push/add/append/minsert() variadique, et concat/join/tostring/result() à la fin
      • besoins spécifiques : unshift() (i.e. prepend) et intermediateConcat() ; alternativement, exposer la variable table
    • à utiliser dans Module:Biblio/Lien web, parce que 171986603 ne me plait pas (obligé de concaténer, au lieu des arguments en variadique)
    • renommer le module TableBuilder en FluentTable (à propos, les modules peuvent maintenant être renommés, cf. T120794)
  • deux modèles qui semblent faire doublon avec {{Liste simple}} : {{Liste sans puce}} et {{Unbulleted list}}
  • créer une catégorie pour les modèles dont le rôle est d'avoir une page "fonctionnelle" lorsqu'elle a été copiée depuis un autre wiki, en ayant laissé les modèles étrangers tels quels
  • Discussion module:Outils#Fonction extractArgs()
    • référence externe : https://help.fandom.com/wiki/Extension:Scribunto#Supporting_both
    • attention à 197673793 : comme rappelé dans la référence ci-dessus, les arguments définis mais vides sont tout autant pris en compte, donc peut-être garder l'ordre actuel (frame "#invoke" prioritaire sur la frame du modèle) pour éviter les mauvaises surprises
    • ensuite, si T137584 (« Allow Scribunto code to add a category without changing output ») est résolu, il serait possible de catégoriser les pages où le changement d'ordre change le résultat
  • lorsque le modèle {{Documentation}} ajoute automatiquement un bandeau pour indiquer que le modèle est protégé en écriture, s'il y a des bandeaux "hatnote" au début de la documentation ça serait bien de ne pas ajouter le bandeau au tout début, mais en dessous de ceux-ci
  • {{Infobox Site web}} : implémenter un paramètre couleur nom, pour remplacer les utilisations assez nombreuses de {{blanc}}etc. dans le paramètre nom (cf. wstat.fr)
  • déluge de globales implicites dans Module:Archives
  • {{Encart}} : ça ne produit pas un <p> mais un <div>, du coup le texte peut se retrouver tout collé aux éléments avant et après
    • exemples : Aide:Homonymie, Souris (homonymie)
    • forcément, j'imagine qu'il y a des cas inverses, où le rétablissement de ces margins serait indésirable…
    • pour rappel, « avec div, pas de surprise », mais là pour le coup un <p> me paraît tout indiqué
    • entretemps j'ai effectué 210018567, sans avoir pensé à ces notes TODO ; la situation est donc déjà meilleure, mais on pourrait peut-être encore un peu améliorer
  • harmonisation {{Site officiel}}, {{Bases}}, {{Dictionnaires}} et {{Autorité}} (utilisés par {{Liens}}), ainsi que {{Blog officiel}} (présent en plus dans {{Liens de biographie}}) :
    • si le paramètre « wikidata / id / entity [ / 1 ] » n'est pas un qid valide, certains modules discardent la valeur, d'autres la laissent passer (et donc erreur plus tard)
      • rappel : bien entendu, il y a la valeur spéciale « - »
    • si le paramètre « wikidata / etc. » est utilisé avec le qid de la page en cours, certains modules ajoutent le suffixe "entityInfo" « (pour [[même article]]) » (donc "selflink", lien remplacé par texte en gras), d'autres ne l'ajoutent pas
      • rappel : le paramètre pourrait éventuellement valoir « q42 » (lowercase) ; une telle valeur fonctionne, mais faux négatif quand on compare avec mw.wikibase.getEntityIdForCurrentPage() (résultat « Q42 », uppercase)
    • nom de variable « entityId » au lieu de « entity »
  • renommer le modèle {{L}} en autre chose, pour libérer le nom, puis utiliser ce nom de modèle pour afficher le nombre 50 en chiffres romains
  • {{Palette}} : tout devrait se faire dans le module, parce que là quand on passe une palette complète en argument, args[1] vaut « {{Palette \n {| code de la palette »… (parentArgs[1] étant utilisé à la place quand il s'agit d'une palette complète, ce args[1] n'est pas utilisé, il n'en demeure pas moins complètement foireux, et long)
    • sauf que, si on utilise des frame:expandTemplate() dans le module, toutes les palettes incluses vont se retrouver en temps d'exécution Lua…
  • {{Méta infobox navigation}} : des espacements verticaux foireux, par exemple {{Palette Projet articles audio}}, {{Projet:Photographie/menu}}
  • {{Méta bandeau d'avertissement}} : le contenu du paramètre optionnel supplément est trop collé au contenu précédent
  • {{YouTube}} : pouvoir ajouter un timecode
    • exemple pour utilisation : 172998491 (hacky pour l'instant)
    • support et conversion bidirectionnelle formats : 3:49 ⇄ 229s (j'imagine qu'il va falloir du Lua…)
    • rappel : le <small> ne s'affiche pas plus petit dans les <references /> (mais ça ne fait pas de mal de le mettre, car ça ajoute quand même une information sémantique, et le modèle peut être utilisé ailleurs)
    • en cas d'échec parsage du paramètre de position, comme actuellement l'afficher en libellé tel que saisi, mais par contre ne pas le mettre en timecode dans l'URL
    • éventuellement, ajouter le support des intervalles (exemple d'utilisation erronée pour l'instant)
      • avec la première valeur de l'intervalle en timecode dans l'URL, et un libellé « de <libellé 1> à <libellé 2> »
  • comme déjà remarqué, {{Lien web}} pose des problèmes de performances (notamment quand il est utilisé de nombreuses fois)
    • une piste pourrait être dans Module:Biblio/Lien web de remplacer l'utilisation de Module:TableBuilder par du code natif
      • rappel : on peut aussi faire un truc du genre local insert = table.insert, améliore légèrement performances et surtout lisibilité code
    • (car multiplication du nombre d'appels de wiki.minsert() (avec toute la machinerie sous-jacente) par le nombre d'utilisations de {{Lien web}}, ça devient vraiment élevé)
  • réémigrer la fonction String.simpletitle vers un module dédié, afin d'alléger le Module:String
    • de plus, la fonction String.titledisambig associée, juste en dessous, semble inutilisée ?
    • simplement pour information, je viens de remarquer l'existence de Module:Formatage du titre, peut-être serait-ce un bon endroit pour y déplacer le code
  • {{nbsp}} : rôle actuel alambiqué (rappel : les branches de #if non atteintes ne sont pas exécutées…), et bien entendu les inclusions sont erronées, s'attendant à un simple paramètre "N espaces"
  • Catégorie:Palette Métropole : des palettes à proprer (autocollapse, gras double, css…)
  • fusionner {{non vide}} et {{premier non vide}}
    • impact perfs négligeables pour le {{non vide}}, ça rajoute juste un #if
    • sur enwiki (cf. en:Template:If empty) ils utilisent carrément un module Lua… mais ça franchement, NON. overkill.
      • d'autant plus qu'actuellement, il n'y a aucune utilisation de notre modèle avec plus de 3 arguments, voir wstat.fr
  • {{Page de discussion}} (et JavaScript associé) : transformer l'id transformeEnPageDeDiscussion par une classe du même nom
    • permettrait de ne pas craindre d'avoir un HTML incorrect parce que la page contient plusieurs fois le modèle (notamment, inclusions de sous-pages en cascade)
    • bien plus envisageable qu'à l'époque, vu que maintenant on a tout ce qu'il faut en JavaScript pour choper les éléments par class
    • refs 155412647, barre de semaines incluse dans l'en-tête et les pages de semaines (exemple)
  • {{Palette Modèles de vote}} :
    • modèles de discussion : du proprage de catégories à faire, notamment avec des ajouts de Catégorie:Modèle affichant une icône
    • faudrait aussi que tous les modèles (genre Oui, Fait, etc.) soient bien répertoriés, de sorte à ne pas en oublier lors de modifications
  • {{Lien archive}} :
  • {{Colonnes}} :
  • le header de la page d'accueil est complètement à refaire, en particulier ces histoires de layout colonnes, là…
  • Modèle:Accueil actualité : réfléchir à le rendre plus aisé à modifier pour les contributeurs
  • {{Indication de langue}} :
    • il faudrait inverser les paramètres 1 et 2, ça serait plus logique
    • attention, il y a aussi des appels direct du module ! (chercher « insource:indicationDeLangue »)
    • ça serait bien de ne pas invoquer Lua quand il n'est pas utile, lorsque code et nom renseignés, exemple {{en}}, etc.
      • quoique, ça ne semble pas faire bottleneck (il n'y a que l'invocation Lua), par contre ça serait dommage de dupliquer le code (une fois Lua, une fois template)
  • classe bandeau-section utilisée pour deux choses différentes :
    • e.g. {{Article détaillé}}
    • e.g. {{Section à recycler}}, et là le contenu est tout collé à gauche c'est moche
    • regardé que très succintement, à approfondir
    • évidemment, on remarque déjà que c'est le bazar dans les modèles et que l'uniformité c'est pas vraiment ça
  • {{Infobox Série de jeux vidéo}} : remplacer "|jeu phare N=Foo (bar) |jeu phare N affiché=Foo" par "|jeu phare N=[[Foo (bar)|Foo]]"
    • sans oublier idem avec "premier jeu" et "dernier jeu en date"
    • attention il y a des "|jeu phare N=Foo |jeu phare N affiché=<identique>", bien transformer en [[Foo]] et non [[Foo|Foo]]
    • a priori traité depuis lors : 149591247 et 149596892
  • sous-catégories de Catégorie:Page utilisant un modèle avec une syntaxe erronée : faire sauter ce bazar de catégorisation de la sous-catégorie qui diffère selon que ladite sous-catégorie est vide ou pas
  • performances modèles : en cherchant "NewPP" dans la source des pages, maintenant on a même un classement des modèles les plus coûteux en temps CPU
  • {{lang}} et {{lien web}} : mauvaises performances en raison des utilisations habituellement nombreuses et du coût invocation Lua
  • bottleneck suivant rapport aux invocations Lua : {{Lien web}}
  • en revanche, on devrait gagner à convertir {{Méta palette de navigation}} en Lua (modèle apparemment un peu lent, inclus peu de fois)
  • réduire légèrement l'indentation des messages dans les pages de discussion
    • pour tous les utilisateurs, e.g. passer de margin-left:1em à 0.8em, visuellement ça ne surprend pas et on gagne un agréable 20 %
    • éventuellement faire davantage dans mon CSS perso, par ex. 0.5em (mais du tout je m'éloigne encore plus du rendu des pages que les autres utilisateurs ont)
    • étudier toutes les skins
  • {{str len}} :
    • documentation erronée : la longueur est celle du paramètre "trimmé" (vraisemblablement depuis la conversion en Lua)
    • étonnamment, modèle très peu utilisé, du coup ça devrait être gérable pour vérifier les utilisations
    • à voir : plus performant si on s'inspire de {{Hex2dec/1}} pour traiter les chaînes courtes sans charger le Lua ?
      • observé un gain ssi on matche dans le switch, par contre si "parcours de tout le switch + fallback Lua" c'est très mauvais
      • en plus testé avec un switch court, et le gain diminue logiquement à mesure que le switch augmente…
      • alors à moins de créer un modèle « {{str len (pour chaîne pas très longue)}} »… (hint : no way.)
    • attention au multibyte UTF-8, à garder en tête
  • Module:String et Catégorie:Modèle de manipulation de chaîne
  • {{Liste simple}} :
  • idée : système pour avoir des listes à puces moins décalées à droite dans les infoboxes
  • MediaWiki:Semiprotectedpagewarning : utilisé pour les semi-protections classiques mais aussi les étendues, à mettre à jour pour tester et afficher un message correct pour ces dernières
  • Documenter et catégoriser sous-modèles techniques {{Suffixe siècle}} et {{Exposant siècle}}, puis réflexion approfondie pour prévoir tout caveat, et enfin mise en prod une fois établi que tout est ok
    • ben déjà il y a à gérer les textes pour les liens, pi y'a aussi des tooltips
  • {{ExpInd}} serait améliorable, cf. cette discussion
  • Module Lua qui serait à ajouter aux modèles les plus impactés, et qui servirait à détecter la présence de paramètres non implémentés (comme on voit sur wstat.fr) et à catégoriser les pages fautives
  • {{Infobox Conflit militaire}} :
    • de façon générale, du proprage à faire : virer les commentaires « fin de #if », mettre au clair les briques optionnelles (lignes vides, <nowiki />, toutça)
    • souci si notes contient une liste, la suite se retrouve dans le dernier item de liste (exemple : Bataille de Gavinana)
    • éventuellement ajouter un paramètre pour modifier le titre « Notes » (mais à réfléchir dans la globalité avant de faire des ajouts épars)
  • {{Références}} : 101316296 corrige les colonnes pas alignées en haut (bug CSS3 ?), mais du coup elles sont toutes collées en haut.
    • ajouter .references-small {padding-top:0.3em} (padding et non margin, car overlap margins avec monobook)
    • ils ont fait quelque chose de similaire sur le wiki angl.
    • ✔️ fait, et bien avec margin
  • même problème avec {{Colonnes}} ?
  • perfs CSS : reste dans le Common.css un joli star selector : .img_toggle, \n .img_toggle *, en espérant qu'il soit éliminable.
  • {{Liste horizontale}} :
  • {{Palette Portails sur l'alimentation et la gastronomie}} :
  • {{Saison de série télévisée/Épisode}} : Wikipédia:Le Bistro/14 mai 2016#Division en deux paragraphes
    • pas satisfaisant en l'état, notamment le modèle doit rester compact en hauteur
    • uniformité espacements verticaux aussi lorsque colonnes
    • pour rappel : {{#if:...|<nowiki />\n
    • risque d'y avoir à rajouter du css, et faudrait voir à ne pas trop compliquer le code
  • les codes de {{Autre4}} et {{Autre5}} seraient "fusionnables"
    • mais la vraie problématique c'est les noms pas très clairs de ces modèles (petite liste ici), réfléchir si cela serait améliorable
  • {{Accueil/Cadre}} et {{Accueil/Cadre2}} : background CSS au lieu d'images simples (afficher la page sans CSS pour constater le problème)
  • Catégorie:Boîte utilisateur habite ville française : faire un modèle pour factoriser le code de tout cela ?
  • MediaWiki:Common.css : on est vraiment obligé de mettre toutes les images d'en-tête d'infobox à cet endroit ?
    • ça nous plombe bien le fichier : 14 % du nombre de lignes, 22 % du poids
    • sans compter toutes les WP:DIMS à chaque fois que quelqu'un veut rajouter une image
    • refs : 26030633, 26031099, 28508360, pour commencer
    • ça ne fonctionne pas en wikitexte, c'est remplacé par style="https://fr.m.wikipedia.org/* insecure input */"
    • aussi essayé en base64 mais ça ne fonctionne pas non plus, c'est supprimé.
  • créer modèle "rééd.", en se basant sur {{p.}} etc.
  • icône pour toutes les palettes (pas que pour les palettes "multiples") et arranger hauteur / alignement vertical
  • {{DAYINYEARreverse}}, {{DAYINYEAR365reverse}}, {{DAYINYEAR366reverse}} :
  • résoudre confusion {{Suppression immédiate}} / {{Suppression Immédiate}}
  • Les modèles de "compatibilité en:" ({{Cite book}}, etc.) devraient avoir une catégorisation dédiée (ils sont actuellement dans Catégorie:Modèle obsolète à garder)
  • {{Cite video}} à franciser (conserver la compatibilité avec les copier-coller depuis le wiki EN)
    • voir plus grand, avec la mise à plat de systèmes de compatibilité des copier-coller contenant des {{cite book}} etc.
    • un autre exemple : {{WAM}}, copié-collé du wiki en:, utilisait {{border-radius}} et {{box-shadow}} qui ont été supprimés du wiki fr: (en prime les erreurs avec ces deux modèles ne sont pas visibles vu qu'ils sont utilisés dans des balises)
  • redirs {{Mr}}, {{Ms}}, etc. : il faudra revenir sur l'annulation de mon changement (discussion avec Voxhominis)
  • préparation {{date}} Lua :
  • un autre modèle pour la syntaxe duquel Lua va être très appréciable : {{lien}}
  • {{puce}} transformé en redir vers {{·}} par Hlm Z. le 8 mars 2013, à voir (peu utilisé donc c'est pépère) (c'est surtout que ça a touché ma PU Émoticône)
  • {{Infobox Biographie}} : vérifier s'il reste beaucoup de paramètres âge au décès dans les articles
  • Projet:Infobox/Ménage V1
  • {{Infobox Musique (œuvre)}} :
  • {{Essai}}, {{Principe fondateur}}, {{Règle officielle}}etc. :
    • voir les pdd de ces modèles pour suggestions de Herr Satz (d · c) et liste complète des modèles concernés
    • factorisation code
    • marges verticales
    • kicker le align="center"
  • lister avec Bottine (d · c) les pages de documentation de modèles supprimés (i.e. Modèle:Modèle supprimé/Documentation)
  • {{Wikiprojet}} :
    • gestion plus évoluée des erreurs de syntaxe, pour informer l'utilisateur plutôt que d'afficher un résultat cassé
    • exemple : {{Wikiprojet|Informatique}} et {{Wikiprojet|informatique}} ne rendent pas la même icône, {{Wikiprojet/image}} essayant déjà de récupérer l'image du modèle d'ébauche ; voir pour harmoniser cela – edit : à première vue ça c'est bon maintenant (fallback ébauche à la fin, auparavant c'était utilisé en premier)
    • gestion plus élégante des sous-pages /À faire existantes mais vides
    • suite à mes modifs sur {{{projet}}}, plutôt traiter les redirections dans les inclusions, au lieu d'accumuler les alias. exemple Togo, etc. vers Afrique
  • Les modèles de diptyques se reproduisent entre eux et au fil des générations développent des tares diverses :
  • Migrer tous les liens externes Allmusic (avec ou sans modèle) vers le nouveau format d'URL
  • {{Lien web}} : mettre un terme à cette confusion entre les paramètres date et consulté le (ce dernier correspond à accessdate du modèle anglais, c'est un tout autre usage ; c'est pour les archives, système qui en plus n'est pas présent dans notre modèle)
    de façon générale, il y a des choses à revoir dans ce modèle
  • Améliorer {{Semi-protection}} et {{Semi-protection longue}} en reprenant les améliorations apportées à {{Protection}} (catégorisation, texte sur mesure, etc.)
  • {{Infobox/Triptyque}} (utilisé par exemple dans {{Infobox Console de jeux vidéo}}) : problème du « ante=[[foo]], post=[[bar|baz]] // [[Image:...|link=foo]] »
résultat : images non cliquables pour la navigation
solution : implémenter images cliquables (doc MediaWiki) ; permet de ne pas ajouter de paramètres Émoticône sourire
  • Il y a aussi bien sûr {{Infobox/Diptyque}}. Pour informations utilisation voir ceci. Et en voila un beau {{Infobox Heure}}. Enjoy. Émoticône
  • À essayer : avoir une marge supérieure avec la syntaxe {{Palette Truc}} (comme avec {{Palette|Truc}})
    • CSS du style : table.navbox {margin-top: 1em} (en fait déjà présent dans le Common.css mais écrasé par du CSS inline dans {{Méta palette de navigation}})  /  div.navbox-container table.navbox {margin: 0}  /  div.navbox-container {margin-top: 1em}
    • cas des palettes empilées à l'ancienne ({{Palette Foo}} \n {{Palette Bar}})
    • encore plus problématique : cas des palettes non nommées suivant la convention « Palette ... »
    • il faut aussi gérer correctement {{Méta palette de navigation sous-liste}}
  • Problèmes de performances liés aux modèles, goulots d'étranglement causés par la pléthore de #ifexist :
    • {{Date}} : attention, implique nécessairement une réduction de fonctionnalité, consultation de la communauté nécessaire
    • modèles de pitidrapeaux : éventuellement solliciter l'aide avisée de Xfigpower (d · c) si je n'arrive pas à m'y retrouver dans tout ce foutoir
  • {{BNF}}, {{ERIC}}, {{ISSN}}+{{Recherche ISSN}}, {{LCCN}}+{{Recherche LCCN}}, {{CODEN}}(WTF lien rouge)+{{Recherche CODEN}}, {{OCLC}}+{{Recherche OCLC}} (j'en oublie peut-être) :
    • corriger les noarchive
    • voir si y'a pas de la réorganisation à faire, au sujet des modèles "directs" {{Recherche (...)}} (à confronter avec l'approche que j'avais prévue pour les BNF) c'est très bien comme ça
    • les sections "Voir aussi" dans les documentations seraient à arranger / unifier
  • {{OCLC|nu=}}... ("nu" devant être obligatoirement vide ! toutefois je connais une bonne âstuce pour le corriger : {{#ifeq: {{{v|}}} | {{{v|-}}} | v was specified (and may be empty) | v was not specified }} )
    • ... mais plutôt remplacer par {{OCLC brut}}, moins tordu n'est-il pas ?
    • attention, point à voir au passage : le <small>... faudra vérifier l'usage actuel du modèle en mode sans parenthèses
  • factorisation des modèles d'abréviation de civilité (cf. pdd du modèle {{Mlle}})
  • Catégorie:Article orphelin et Catégorie:Wikipédia:Tentative d'adoption : arranger un peu cela, et bien sûr traiter des articles
  • créer un modèle {{Taille fichier}} ✔️ pour ne plus faire ça :
    <small>({{unité|4.2|{{abréviation discrète|Mo|Mégaoctets}}}})</small>
    • pourra être ajouté dans ces articles : Appel du 18 JuinLes Fleurs du malThéorie du chaos
    • exemple de rendu : (4,2 Mo)
    • penser à la gestion du pluriel (« toto(s) » n'est pas français)
    • ne pas oublier le cas particulier de kilooctet, sans majuscule à « ko » (voir Octet)
    • dans le code de ce modèle, on pourrait se passer de {{unité}} et rendre insécable "à la main" (juste un &nbsp; à mettre, et ça sera mieux que de passer par un CSS white-space:nowrap ; par contre ne pas oublier le {{formatnum:}} !)
    • ne pas inclure le <small> dans le modèle ? pour pouvoir utiliser dans des références
  • faudra refaire une passe avec Bottine pour voir/finaliser l'état des {{Abréviation}}
  • {{Infobox Logiciel}}, {{Dernière version stable/xxxx}} et {{Dernière version avancée/xxxx}} : trouver un moyen, simple et rapide si possible, pour ne plus afficher la version avancée lorsque celle-ci est caduque
    • à harmoniser : date en taille normale en mode « sans sous-modèle », date encadrée de <small> en mode « avec sous-modèle »
  • palettes de navigation :
    • réduction font-size ? (constater la différence entre 90 % et 88 % sous Firefox) et line-height en accordance ; s'inspirer de ce qui est fait sur le wiki EN ; a priori, à la fois plus compact et plus lisible, bien sûr comparer sur moulte plates-formes
    • pouvoir enrouler/dérouler en cliquant sur toute l'en-tête ; évidemment faut gérer les liens qui y sont superposés (ahhh les joies du bubbling)
      • fait dans le js perso ; serait à intégrer directement dans le MediaWiki:Common.js pour que tout le monde en profite
      • il faudrait appliquer le même système aux boites déroulantes ✔️ fait, mais il reste encore de rares cas non gérés (le fameux fr-collapsible qui serait de toute façon à dégager)
    • en vrac, quelques trucs à ne pas oublier en cas de chantier sur le code des palettes :
  • aligner horizontalement les {{Référence à confirmer}} avec les <ref> ? (cf. classes reference et exposant dans le Common.css)
attention, chantier peut-être délicat (par exemple, homogénéité avec le niveau des {{référence nécessaire}}, étudier les 2 classes ci-dessus, faire très attention à l'interlignage, etc.)