Utilisateur:Programgames2/Test apprentissage
Page de test — proposition de mise à jour du Module:Apprentissage
[modifier]Le Module:Apprentissage rend les sept tableaux de capacités du wiki, sur 5 410 pages. Cette page compare, cas par cas, le module en service et une version proposée, déposée dans Module:Apprentissage/bac à sable.
Ce que la proposition ne fait pas :
- elle ne demande de modifier aucune des 5 410 pages ;
- elle ne demande aucune ligne de CSS ou de JavaScript supplémentaire ;
- elle n'enlève aucun paramètre, aucun comportement, aucune fonction.
Comment lire cette page. Chaque cas montre d'abord le rendu actuel, puis le rendu proposé, et explique dessous ce que vous devez voir et pourquoi. Les sections A vérifient que rien ne casse ; B montre ce qui s'améliore tout seul ; C montre ce qui devient possible ; D couvre les cas limites.
Deux catégories de maintenance apparaissent en bas de cette page. C'est voulu : les cas C.4 et D.2 les déclenchent exprès pour montrer le problème et sa solution.
A. Rien ne casse
[modifier]Les appels ci-dessous sont exactement ceux qu'écrivent déjà les pages du wiki. Les deux rendus doivent être identiques, à une exception annoncée en A.2.
A.1 — Par niveau, génération 9
[modifier]Rendu actuel
[modifier]| Capacité | Niveau | |||||
|---|---|---|---|---|---|---|
| Nom | Type | Catégorie | Puissance | Précision | PP | EV |
| Charge | ![]() | 40 | 100 % | 35 | N.1 | |
| Rugissement | ![]() | — | 100 % | 40 | N.3 | |
| Vampigraine | ![]() | — | 90 % | 10 | N.7 | |
| Fouet Lianes | ![]() | 45 | 100 % | 25 | N.9 | |
| Lance-Soleil | ![]() | 120 | 100 % | 10 | N.30 | |
Rendu proposé
[modifier]| Capacité | Niveau | |||||
|---|---|---|---|---|---|---|
| Nom | Type | Catégorie | Puissance | Précision | PP | EV |
| 5 capacités | ||||||
| Charge | ![]() | 40 | 100 % | 35 | N.1 | |
| Rugissement | ![]() | — | 100 % | 40 | N.3 | |
| Vampigraine | ![]() | — | 90 % | 10 | N.7 | |
| Fouet Lianes | ![]() | 45 | 100 % | 25 | N.9 | |
| Lance-Soleil | ![]() | 120 | 100 % | 10 | N.30 | |
Ce que vous devez voir. Deux tableaux identiques, à un détail près : le nombre de capacités s'affiche à droite du bouton.
Pourquoi ce détail est placé là. MediaWiki:Common.js échange le texte
du bouton et son attribut title à chaque clic. Un compteur écrit
dans le bouton disparaîtrait donc au premier clic. Il est écrit à côté.
Cliquez deux fois pour le vérifier.
A.2 — Par niveau, génération 8 : Maîtrise et Capacité Plus
[modifier]Rendu actuel
[modifier]Rendu proposé
[modifier]| Capacité | Niveau | ||||||
|---|---|---|---|---|---|---|---|
| Nom | Type | Catégorie | Puissance | Précision | PP | EB, DEPS | LPA |
| 3 capacités | |||||||
| Charge | ![]() | 40EB, DEPS 30, 40, 50LPA | 100 % | 35EB, DEPS 30LPA | N.1 | ||
| Rugissement | ![]() | — | 100 % | 40 | N.3 | — | |
| Fouet Lianes | ![]() | 45 | 100 % | 25 | N.7 | ||
Ce que vous devez voir. Rien de différent à l'œil.
La seule différence de toute la proposition est ici. L'icône de Capacité Plus porte aujourd'hui le texte alternatif « Maîtrise » — un copier-coller depuis la ligne du dessus. Invisible pour vous, mais un lecteur d'écran annonce « Maîtrise » là où il faudrait « Capacité Plus ». La version proposée corrige ce texte.
Au passage, une remarque hors périmètre. Cette icône pointe vers une page « Capacité Plus » qui n'existe pas : le lien est rouge, dans le module actuel comme dans la version proposée. Ce n'est pas corrigé ici, car cela relève d'une décision de contenu et non du module — mais cela mérite peut-être une page.
A.3 — Par niveau, génération 3 : les colonnes Concours
[modifier]Rendu actuel
[modifier]Rendu proposé
[modifier]| Capacité | Niveau | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Nom | Type | Catégorie | Puissance | Précision | PP | Type Concours | Charme | Blocage | RS | E | RFVF |
| 3 capacités | |||||||||||
| Charge | ![]() | 35 | 95 % | 35 | ♥♥♥♥ | — | N.1 | N.1 | N.1 | ||
| Fouet Lianes | ![]() | 35 | 100 % | 10 | ♥♥♥♥ | — | N.7 | N.7 | N.7 | ||
| Ultralaser | ![]() | 150 | 90 % | 5 | ♥♥♥♥ | ♥♥♥♥ | — | N.50 | N.50 | ||
Ce que vous devez voir. Neuf colonnes des deux côtés, Type Concours, Charme et Blocage compris, et les trois colonnes de jeu (RS, E, RFVF). Le « — » d'Ultralaser en Rubis/Saphir est conservé.
Pourquoi ce cas est dans la liste. Les générations 3, 4 et 6 sont les seules à avoir des colonnes supplémentaires, et donc les plus faciles à casser lors d'une modification. Elles sont vérifiées explicitement.
A.4 — Tableaux vides
[modifier]Rendu actuel
[modifier]| Capacité | |||||
|---|---|---|---|---|---|
| Nom | Type | Catégorie | Puissance | Précision | PP |
| Ce Pokémon n'apprend aucune capacité par montée en niveau lors de cette génération. | |||||
| Numéro | Capacité | Type | Catégorie | Puissance | Précision | PP |
|---|---|---|---|---|---|---|
| Ce Pokémon n'apprend aucune capacité par capsule lors de cette génération. | ||||||
Rendu proposé
[modifier]| Capacité | |||||
|---|---|---|---|---|---|
| Nom | Type | Catégorie | Puissance | Précision | PP |
| Ce Pokémon n'apprend aucune capacité par montée en niveau lors de cette génération. | |||||
| Numéro | Capacité | Type | Catégorie | Puissance | Précision | PP |
|---|---|---|---|---|---|---|
| Ce Pokémon n'apprend aucune capacité par capsule lors de cette génération. | ||||||
Ce que vous devez voir. Strictement rien de différent : même phrase, même tableau, même largeur.
Ce qui change quand même, dans le code source. Un tableau vide n'a ni lignes ni compteur : c'est donc le cas où l'on voit le mieux ce que la version proposée ajoute, et rien d'autre :
- la balise
<table>reçoit les classes
tableau-apprentissageetapprentissage-usuel— voir B.3 ;
- les en-têtes reçoivent
scope="col", ce qui permet à un lecteur
d'écran d'annoncer « Puissance : 40 » plutôt que « 40 » ;
- un guillemet en trop est retiré (
class="cellule-entête"").
A.5 — Par CT/CS, génération 6 : le sigle dépend du jeu
[modifier]Rendu actuel
[modifier]| Numéro | Capacité | Type | Catégorie | Puissance | Précision | PP | Type Concours | Charme | Blocage |
|---|---|---|---|---|---|---|---|---|---|
| CT01 | Poing Éclair | ?? | ?? | ?? | ?? | ?? | |||
| CT06 | Toxik | ![]() | — | 90 % | 10 | ♥♥♥ | — | ||
| CT70 | Flash | ![]() | — | 100 % | 20 | ♥♥♥ | — | ||
| CS94 | Éclate-RocROSA | ![]() | 40 | 100 % | 15 | ♥♥♥♥ | — | ||
Rendu proposé
[modifier]| Numéro | Capacité | Type | Catégorie | Puissance | Précision | PP | Type Concours | Charme | Blocage |
|---|---|---|---|---|---|---|---|---|---|
| 4 capacités | |||||||||
| CT01 | Poing Éclair | ?? | ?? | ?? | ?? | ?? | |||
| CT06 | Toxik | ![]() | — | 90 % | 10 | ♥♥♥ | — | ||
| CT70 | Flash | ![]() | — | 100 % | 20 | ♥♥♥ | — | ||
| CS94 | Éclate-RocROSA | ![]() | 40 | 100 % | 15 | ♥♥♥♥ | — | ||
Ce que vous devez voir. Éclate-Roc annoncée en CS des deux côtés, avec l'exposant ROSA ; Flash en CT. Les autres en CT.
Pourquoi ce cas. La table qui décide du sigle CT/CS/DT est la partie la plus délicate du module : onze capacités, dont quatre dont le sigle change selon le jeu à l'intérieur d'une même génération. Elle est reprise à l'identique, sans une virgule de changement.
A.6 — Par DT, génération 9
[modifier]Rendu actuel
[modifier]| Numéro | Capacité | Type | Catégorie | Puissance | Précision | PP |
|---|---|---|---|---|---|---|
| DT01 | Vive-Attaque | ![]() | 40 | 100 % | 30 | |
| DT02 | Draco-Griffe | ![]() | 80 | 100 % | 15 | |
Rendu proposé
[modifier]| Numéro | Capacité | Type | Catégorie | Puissance | Précision | PP |
|---|---|---|---|---|---|---|
| 2 capacités | ||||||
| DT01 | Vive-Attaque | ![]() | 40 | 100 % | 30 | |
| DT02 | Draco-Griffe | ![]() | 80 | 100 % | 15 | |
Ce que vous devez voir. Sigle DT des deux côtés, et le numéro de disque toujours en lien.
Un ajout invisible. La colonne Numéro devient triable dans l'ordre numérique. Aujourd'hui le tri compare des textes : « DT10 » se range avant « DT2 ».
A.7 — Par reproduction, avec parents
[modifier]Rendu actuel
[modifier]| Capacité | Type | Cat. | Puis. | Préc. | PP | Parents l'apprenant par niveau | Parents l'apprenant par reproduction |
|---|---|---|---|---|---|---|---|
| Vampigraine | ![]() | — | 90 % | 10 | ![]() | ![]() | |
| Soin | ![]() | — | 100 % | 5 | ![]() | — | |
Rendu proposé
[modifier]| Capacité | Type | Cat. | Puis. | Préc. | PP | Parents l'apprenant par niveau | Parents l'apprenant par reproduction |
|---|---|---|---|---|---|---|---|
| 2 capacités | |||||||
| Vampigraine | ![]() | — | 90 % | 10 | ![]() | ![]() | |
| Soin | ![]() | — | 100 % | 5 | ![]() | — | |
Ce que vous devez voir. Les mêmes miniatures de parents, dans le même ordre, et le « — » de la seconde ligne quand aucun parent n'est donné.
Pourquoi ce cas. C'est la fonction qui appelle un second module (Module:Ressources/infosPokemon) et la plus coûteuse à rendre. Si quelque chose devait ralentir ou casser, ce serait ici.
A.8 — Par reproduction : jeu(), sup(), méthodes= et queulorior=
[modifier]Rendu actuel
[modifier]| Capacité | Type | Cat. | Puis. | Préc. | PP | Type Concours | Charme | Blocage | Parents l'apprenant par niveau | Parents l'apprenant par CT |
|---|---|---|---|---|---|---|---|---|---|---|
| VampigraineRS | ![]() | — | 90 % | 10 | ♥♥ | ♥♥ | — | |||
| SoinE | ![]() | — | 100 % | 20 | ♥♥ | ♥ | ![]() | — | ||
| Grâce à sa capacité Gribouille, Queulorior est capable d'apprendre toutes ces capacités, qu'il peut également transmettre par reproduction. | ||||||||||
Rendu proposé
[modifier]| Capacité | Type | Cat. | Puis. | Préc. | PP | Type Concours | Charme | Blocage | Parents l'apprenant par niveau | Parents l'apprenant par CT |
|---|---|---|---|---|---|---|---|---|---|---|
| 2 capacités | ||||||||||
| VampigraineRS | ![]() | — | 90 % | 10 | ♥♥ | ♥♥ | — | |||
| SoinE | ![]() | — | 100 % | 20 | ♥♥ | ♥ | ![]() | — | ||
| Grâce à sa capacité Gribouille, Queulorior est capable d'apprendre toutes ces capacités, qu'il peut également transmettre par reproduction. | ||||||||||
Ce que vous devez voir. Les exposants RS et E collés au nom de la capacité, les en-têtes « Parents l'apprenant par niveau / par CT », et la phrase sur Queulorior en bas du tableau.
Pourquoi ce cas. Ce sont les trois paramètres les moins utilisés du module, donc ceux qu'une réécriture oublie le plus facilement. Ils sont vérifiés ensemble.
A.9 — Par donneur : lieu, coût, unité de prix
[modifier]Rendu actuel
[modifier]Rendu proposé
[modifier]| Capacité | Type | Catégorie | Puissance | Précision | PP | Type Concours | Charme | Lieu | Coût |
|---|---|---|---|---|---|---|---|---|---|
| 3 capacités | |||||||||
| Ultralaser | ![]() | 150 | 90 % | 5 | ♥♥ | Kanto | 48 000 P | ||
| Charge | ![]() | 35 | 95 % | 35 | ♥♥♥ | Johto | — | ||
| Soin | ![]() | — | 100 % | 10 | — | Sinnoh | 8 PCo | ||
Ce que vous devez voir. Trois lignes identiques. La deuxième n'a ni coût ni unité et affiche « — » : c'est le comportement actuel, conservé.
Un piège conservé. Quand l'unité contient un lien avec une barre verticale, le module doit recoller les morceaux que le découpage a séparés. Ce raccommodage est repris tel quel — la ligne Ultralaser le prouve.
A.10 — Par pré-évolution et par événement
[modifier]Rendu actuel
[modifier]Rendu proposé
[modifier]| Capacité | Type | Catégorie | Puissance | Précision | PP | Pré-évolution |
|---|---|---|---|---|---|---|
| 2 capacités | ||||||
| Danse-Lames | ?? | ?? | ?? | 0001 | ||
| Soin | ![]() | — | 100 % | 5 | 0002 | |
| Capacité | Type | Catégorie | Puissance | Précision | PP | Événement |
|---|---|---|---|---|---|---|
| 2 capacités | ||||||
| Météores | ![]() | 60EB, DEPS 45, 60, 75LPA | — | 20 | Pokémon Day 2020 | |
| Ultralaser | ![]() | 150EB, DEPS 100, 120, 150LPA | 90 %EB, DEPS 90 %, 95 %LPA | 5 | Distribution | |
Ce que vous devez voir. La miniature du Pokémon pour la pré-évolution, le texte brut pour l'événement, alignés comme aujourd'hui.
Note pour la relecture du code. Ces deux fonctions, plus la nouvelle « transfert » (C.1), partagent désormais le même code : elles ne diffèrent que par le titre de leur dernière colonne et par la phrase du tableau vide. Trois fonctions presque identiques deviennent une, ce qui réduit d'autant le risque qu'un correctif futur n'en corrige que deux sur trois.
B. Ce qui s'améliore sans toucher aux pages
[modifier]B.1 — Les colonnes deviennent triables
[modifier]Rendu actuel
[modifier]| Capacité | Niveau | |||||
|---|---|---|---|---|---|---|
| Nom | Type | Catégorie | Puissance | Précision | PP | EV |
| Charge | ![]() | 40 | 100 % | 35 | N.1 | |
| Ultralaser | ![]() | 150 | 90 % | 5 | N.50 | |
| Lance-Soleil | ![]() | 120 | 100 % | 10 | N.30 | |
| Soin | ![]() | — | 100 % | 5 | N.20 | |
| Vampigraine | ![]() | — | 90 % | 10 | N.7 | |
| Danse-Lames | ?? | ?? | ?? | N.12 | ||
Rendu proposé
[modifier]| Capacité | Niveau | |||||
|---|---|---|---|---|---|---|
| Nom | Type | Catégorie | Puissance | Précision | PP | EV |
| 6 capacités | ||||||
| Charge | ![]() | 40 | 100 % | 35 | N.1 | |
| Ultralaser | ![]() | 150 | 90 % | 5 | N.50 | |
| Lance-Soleil | ![]() | 120 | 100 % | 10 | N.30 | |
| Soin | ![]() | — | 100 % | 5 | N.20 | |
| Vampigraine | ![]() | — | 90 % | 10 | N.7 | |
| Danse-Lames | ?? | ?? | ?? | N.12 | ||
À essayer : cliquez sur Type, puis sur Catégorie, puis sur Puissance, dans chacun des deux tableaux.
Ce que vous allez constater. Dans le tableau actuel, Type et Catégorie ne se trient pas du tout, et Puissance se trie dans le désordre. Dans le tableau proposé, les trois se trient correctement.
Pourquoi. Le tableau porte bien la classe sortable, mais
Type et Catégorie ne contiennent que des images : le tri n'a aucun texte à
comparer. Et Puissance est triée caractère par caractère, donc « 120 » se range
avant « 40 ». La version proposée ajoute à chaque cellule une valeur de tri
invisible, lue dans Module:Data/Données Capacités Génération 9. Les mentions
« — » et « ?? » sont envoyées en fin de tri au lieu de se mêler aux nombres.
B.2 — Le tri du coût, chez le donneur
[modifier]Rendu actuel
[modifier]Rendu proposé
[modifier]| Capacité | Type | Catégorie | Puissance | Précision | PP | Type Concours | Charme | Blocage | Lieu | Coût |
|---|---|---|---|---|---|---|---|---|---|---|
| 3 capacités | ||||||||||
| Ultralaser | ![]() | 150 | 90 % | 5 | ♥♥♥♥ | ♥♥♥♥ | Kalos | 48 000 P | ||
| Charge | ![]() | 50 | 100 % | 35 | ♥♥♥♥ | — | Kanto | 8 PCo | ||
| Soin | ![]() | — | 100 % | 10 | ♥♥ | — | Johto | 1 500 P | ||
À essayer : triez la colonne Coût dans les deux tableaux.
Ce que vous allez constater. L'actuel range 8 après 48 000, parce qu'il compare « 8 » et « 4 » comme des lettres. Le proposé range 8, 1 500, 48 000.
B.3 — Le CSS mobile enfin branché
[modifier]Rendu actuel
[modifier]Rendu proposé
[modifier]| Capacité | Niveau | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Nom | Type | Catégorie | Puissance | Précision | PP | Type Concours | Charme | Blocage | RS | E | RFVF |
| 3 capacités | |||||||||||
| Charge | ![]() | 35 | 95 % | 35 | ♥♥♥♥ | — | N.1 | N.1 | N.1 | ||
| Fouet Lianes | ![]() | 35 | 100 % | 10 | ♥♥♥♥ | — | N.7 | N.7 | N.7 | ||
| Lance-Soleil | ![]() | 120 | 100 % | 10 | ♥♥♥♥ | — | N.30 | N.30 | N.30 | ||
À essayer : réduisez la largeur de votre fenêtre en dessous de 1200 px, ou ouvrez cette page sur téléphone.
Ce que vous allez constater. Le tableau actuel reste un tableau large, qu'il faut faire défiler latéralement. Le tableau proposé réorganise ses cellules sur plusieurs rangs et tient dans la largeur.
Pourquoi c'est le point le plus important de cette proposition.
MediaWiki:Gadget-tableauxFlexibles.css contient une centaine de lignes
écrites spécialement pour ce module — elles nomment
.tableau-apprentissage, .apprentissage-usuel,
.apprentissage-niveau-2niveaux, .apprentissage-donneur.
Le module ne pose aucune de ces classes. La seule qu'il pose,
apprentissage-capsule, est placée sur une cellule d'en-tête, alors
que le CSS l'attend sur le tableau : elle ne s'applique pas davantage.
Résultat : ce travail de mise en page ne s'applique nulle part sur les 5 410 pages. Sur cette page, 17 règles CSS sont concernées ; elles ne réorganisent aujourd'hui aucun des tableaux de gauche, et réorganisent les 27 tableaux de droite. La proposition ne réécrit pas ce CSS : elle se contente de poser les classes qu'il attend.
B.4 — Deux tableaux d'une même page ne se replient plus ensemble
[modifier]Le problème, sur une page réelle
[modifier]Ouvrez Raichu et repliez le tableau Par CT de la génération 8 de la forme normale : celui de la forme d'Alola se replie en même temps.
C'est le comportement de MediaWiki:Common.js : il pilote tous les tableaux qui portent le même nom, et le module nomme ses tableaux d'après la seule méthode et la génération. Sur un relevé de 60 pages tirées au sort, 13 pages — soit 21 % — ont au moins deux tableaux qui se pilotent ainsi l'un l'autre. Ce sont les Pokémon à formes multiples : Raichu, Ossatueur, Motisma, Morpeko…
Rendu proposé, avec un identifiant distinct
[modifier]| Numéro | Capacité | Type | Catégorie | Puissance | Précision | PP |
|---|---|---|---|---|---|---|
| 2 capacités | ||||||
| CT01 | Vive-Attaque | ![]() | 40 | 100 % | 30 | |
| CT02 | Draco-Griffe | ![]() | 80 | 100 % | 15 | |
| Numéro | Capacité | Type | Catégorie | Puissance | Précision | PP |
|---|---|---|---|---|---|---|
| 2 capacités | ||||||
| CT01 | Vive-Attaque | ![]() | 40 | 100 % | 30 | |
| CT03 | Ultralaser | ![]() | 150 | 90 % | 5 | |
À essayer : repliez le premier des deux tableaux ci-dessus. Le second reste ouvert.
Comment ça marche. Un nouveau paramètre facultatif
identifiant=. Sans lui, le nom du tableau ne change pas d'un iota
et le comportement reste celui d'aujourd'hui — les 5 410 pages ne sont pas
concernées. Avec lui, chaque tableau a son propre bouton. Les espaces et les
accents sont retirés automatiquement pour former un nom de classe valide.
C. Ce qui devient possible
[modifier]Tout ce qui suit est éteint par défaut : aucune page existante ne change de rendu. Ces fonctions ne servent que si quelqu'un les emploie.
C.1 — « Par transfert » : une fonction, enfin
[modifier]Ce que fait le module aujourd'hui
[modifier]Écrire {{#invoke:Apprentissage|transfert|…}}
affiche « Erreur de script : la fonction "transfert" n'existe pas ».
Les pages qui ont une section « Par transfert » appellent donc la fonction
« niveau ». Quand la section est vide, cela donne ceci :
Rendu proposé
[modifier]| Capacité | Type | Catégorie | Puissance | Précision | PP | Type Concours | Charme | Blocage | Provenance |
|---|---|---|---|---|---|---|---|---|---|
| 2 capacités | |||||||||
| Ultralaser | ![]() | 150 | 90 % | 5 | ♥♥♥♥ | ♥♥♥♥ | Pokémon Or et Argent | ||
| Mimique | ![]() | — | — | 20 | ♥♥ | — | Pokémon Cristal | ||
| Capacité | Type | Catégorie | Puissance | Précision | PP | Type Concours | Charme | Provenance |
|---|---|---|---|---|---|---|---|---|
| Ce Pokémon n'apprend aucune capacité par transfert lors de cette génération. | ||||||||
Ce que vous devez voir. Le tableau du haut annonce « n'apprend aucune capacité par montée en niveau » — dans une section intitulée « Par transfert ». C'est ce que lit un visiteur aujourd'hui.
Le tableau du bas annonce « par transfert », et la nouvelle colonne Provenance indique le jeu d'où vient la capacité.
Pourquoi ça compte. Le détournement fonctionne tant que la section n'est pas vide, mais il affiche une phrase fausse dès qu'elle l'est, et il expose au message d'erreur rouge à la moindre faute de frappe.
C.2 — Les notes de bas de tableau
[modifier]| Capacité | Type | Catégorie | Puissance | Précision | PP | Événement |
|---|---|---|---|---|---|---|
| 3 capacités | ||||||
| Météores1 | ![]() | 60EB, DEPS 45, 60, 75LPA | — | 20 | Pokémon Day 2020 | |
| Ultralaser | ![]() | 150EB, DEPS 100, 120, 150LPA | 90 %EB, DEPS 90 %, 95 %LPA | 5 | Distribution 2 | |
| Charge | ![]() | 40EB, DEPS 30, 40, 50LPA | 100 % | 35EB, DEPS 30LPA | Cadeau Mystère | |
| 1. Distribué uniquement au Japon. 2. Le Pokémon doit tenir un Ruban Classique. | ||||||
Ce que vous devez voir. Deux petits renvois 1 et 2 dans le tableau, et les deux notes correspondantes sous le tableau. Les renvois sont cliquables.
À quoi ça sert. Beaucoup de capacités ont une condition d'obtention qui ne
tient pas dans une cellule : une distribution limitée à une région, un objet à
tenir, une restriction de jeu. Aujourd'hui, ces précisions sont soit écrites
dans la cellule au risque de déformer le tableau, soit perdues. Le paramètre
notes= leur donne une place, et un appel s'écrit simplement
note(1) dans n'importe quel champ.
C.3 — Une colonne par jeu, pour les autres méthodes
[modifier]Rendu actuel du module en service
[modifier]| Numéro | Capacité | Type | Catégorie | Puissance | Précision | PP |
|---|---|---|---|---|---|---|
| CT01 | Vive-Attaque | ![]() | 40 | 100 % | 30 | |
| CT02 | Draco-Griffe | ![]() | 80 | 100 % | 15 | |
| CT03 | Ultralaser | ![]() | 150 | 90 % | 5 | |
Rendu proposé, sans le paramètre : identique
[modifier]| Numéro | Capacité | Type | Catégorie | Puissance | Précision | PP |
|---|---|---|---|---|---|---|
| 3 capacités | ||||||
| CT01 | Vive-Attaque | ![]() | 40 | 100 % | 30 | |
| CT02 | Draco-Griffe | ![]() | 80 | 100 % | 15 | |
| CT03 | Ultralaser | ![]() | 150 | 90 % | 5 | |
Rendu proposé, avec colonnes-jeux=oui
[modifier]| Numéro | Capacité | Type | Catégorie | Puissance | Précision | PP | EB | DEPS |
|---|---|---|---|---|---|---|---|---|
| 3 capacités | ||||||||
| CT01 | Vive-Attaque | ![]() | 40 | 100 % | 30 | ✔ | — | |
| CT02 | Draco-Griffe | ![]() | 80 | 100 % | 15 | ✔ | ✔ | |
| CT03 | Ultralaser | ![]() | 150 | 90 % | 5 | — | ✔ | |
Ce que vous devez voir. Les deux premiers tableaux sont identiques : sans le paramètre, rien ne bouge. Le troisième ajoute une colonne EB et une colonne DEPS : Ultralaser n'existe que dans Diamant Étincelant et Perle Scintillante, et cela se lit d'un coup d'œil.
Le problème que cela résout. Aujourd'hui, seule la méthode « par niveau » sait afficher une colonne par jeu. Pour les six autres — CT, DT, reproduction, donneur, pré-évolution, événement — le tableau ne peut rien dire de plus fin que la génération. En génération 8, Épée-Bouclier et Diamant/Perle sont même forcés dans une seule colonne, alors que leurs listes de CT diffèrent. La seule solution actuelle est d'écrire un exposant à la main dans une cellule de texte.
Aucun CSS à ajouter. Ces colonnes réutilisent la classe
colonne-niveau, que MediaWiki:Gadget-tableauxFlexibles.css
style déjà. Réduisez la fenêtre : elles se replient comme les colonnes de
niveau du cas B.3.
C.4 — Colosseum et XD, sans catégorie de maintenance
[modifier]Ce que fait le module aujourd'hui
[modifier]Rendu proposé
[modifier]| Capacité | Type | Catégorie | Puissance | Précision | PP | Type Concours | Charme | Blocage | Jeu | Obtention |
|---|---|---|---|---|---|---|---|---|---|---|
| 3 capacités | ||||||||||
| Ombre Rush | ?? | ?? | ?? | ?? | ?? | ?? | Colosseum | Purification | ||
| Ombre Vague | ?? | ?? | ?? | ?? | ?? | ?? | XD | Capture | ||
| Charge | ![]() | 35 | 95 % | 35 | ♥♥♥♥ | — | XD | Capture | ||
Ce que vous devez voir. Les deux affichent « ?? » pour les statistiques — c'est normal, ces capacités n'ont pas de fiche de données. Mais le premier verse cette page dans Catégorie:Page avec un nom de capacité incorrect, comme si le nom était une faute de frappe. Vérifiez en bas de page : la catégorie y est.
Pourquoi ça bloque un sujet entier. Les capacités Ombre de Pokémon Colosseum et Pokémon XD n'existent pas dans Module:Data/Données Capacités Génération 3. Documenter ces jeux avec les fonctions actuelles remplirait donc la catégorie de maintenance de centaines de pages parfaitement correctes — ce qui la rendrait inutilisable pour son vrai usage, repérer les fautes de frappe.
La fonction proposée affiche ces capacités en clair, avec le jeu et le mode d'obtention, sans catégoriser. Le jour où les données seront renseignées, les statistiques apparaîtront sans qu'il y ait rien à changer aux pages.
C.5 — Légende et couleur de type
[modifier]| Capacité | Niveau | |||||
|---|---|---|---|---|---|---|
| Nom | Type | Catégorie | Puissance | Précision | PP | EV |
| 4 capacités | ||||||
| Charge | ![]() | 40 | 100 % | 35 | N.1 | |
| Vampigraine | ![]() | — | 90 % | 10 | N.7 | |
| Lance-Soleil | ![]() | 120 | 100 % | 10 | N.30 | |
| Soin | ![]() | — | 100 % | 5 | N.20 | |
Ce que vous devez voir. Un titre au-dessus du tableau, et une bordure colorée autour de chaque cellule de type.
Deux options, éteintes par défaut.
légende=ajoute un vrai<caption>. Utile quand
un tableau est recopié ou lu hors du contexte de sa section, et pour les lecteurs d'écran. Il est visible et en gras, car c'est ainsi que MediaWiki:Common.css met les légendes en forme.
couleur-type=ouicolore la cellule du type. Cela réutilise les
classes de MediaWiki:Gadget-couleurs.css, qui existent déjà — aucune couleur n'est inventée.
C.6 — Une colonne par génération d'origine, comme Bulbapedia
[modifier]Ce que Bulbapedia affiche, et pas nous
[modifier]Sur Bulbapedia, un tableau « by transfer » ne met pas la provenance dans une colonne de texte : il met une colonne par génération antérieure, et coche celles où la capacité s'apprenait. Relevé sur 6 769 pages de son wiki :
| Colonnes de génération remplies | 1 | 2 | 3 | 4 | 5 | 6 | 7 | total |
|---|---|---|---|---|---|---|---|---|
| Tableaux « by transfer » | 1 203 | 848 | 471 | 213 | 212 | 209 | 137 | 3 293 |
2 090 de ces tableaux — 63 % — en portent au moins deux, et jusqu'à sept. Chez nous, les 323 sections « Par transfert depuis une autre génération » n'écrivent aucune provenance du tout : elles passent une simple liste de noms à la fonction « niveau ».
Rendu proposé
[modifier]| Capacité | Type | Catégorie | Puissance | Précision | PP | II | III | IV | V | VI | VII |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 5 capacités | |||||||||||
| Aéropique | ![]() | 60EB, DEPS 45, 60, 75LPA | — | 20 | — | ✔ | ✔ | ✔ | ✔ | ✔ | |
| Danse Plumes | ![]() | — | — | 15 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| Feinte | ![]() | 60 | — | 20 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| Vampirisme | ![]() | 80EB, DEPS 60, 75, 90LPA | 100 % | 10 | ✦ | — | — | — | — | — | |
| Mimique | ![]() | — | — | 20 | — | ✔ | — | — | — | — | |
Ce que vous devez voir. Six colonnes étroites, II à VII, chacune liée vers la sous-page de génération correspondante quand elle existe. Une coche ✔ là où la capacité s'apprenait, un tiret sinon. Le losange ✦ de Vampirisme signale une génération où elle ne s'obtenait que par événement ou capacité spéciale — c'est l'équivalent du fond rayé de Bulbapedia.
À essayer : cliquer sur l'en-tête d'une colonne de génération. Le tri regroupe les capacités transférables depuis cette génération-là. Une colonne de texte ne permettrait pas cela.
Comment ça s'écrit. Le champ après le nom est une liste :
Aéropique / 3,4,5,6,7. Les chiffres romains sont acceptés
(III, IV), et une étoile marque le cas « événement seulement »
(2*).
Ce qui est automatique. Une génération que personne ne remplit n'a pas de
colonne — même règle que les colonnes de jeu vides du cas D.3. Ici la colonne I
n'apparaît pas, parce que Nostenfer n'existe pas en première génération. Le
paramètre depuis=1 force l'affichage de toutes les colonnes si
besoin, et pokémon= sert seulement à cette page de test : sur une
vraie fiche, le module trouve le nom tout seul.
Pourquoi ça compte. Cette information existe, elle est vérifiable, et c'est aujourd'hui la seule chose que le tableau de transfert ne dit pas : un lecteur voit qu'une capacité s'obtient par transfert, mais pas depuis où.
Une réserve, dite franchement. Les largeurs mobiles du gadget s'arrêtent à trois colonnes étroites. Au-delà, sous 1200 px, les colonnes se rangent d'elles-mêmes sans se casser, mais sans s'aligner non plus. Cinq lignes dans MediaWiki:Gadget-tableauxFlexibles.css suffiraient — c'est la seule ligne de CSS que cette proposition demande, et elle est facultative :
.apprentissage-niveau-4niveaux .colonne-niveau { width: calc(25% - 2px); }
.apprentissage-niveau-5niveaux .colonne-niveau { width: calc(20% - 2px); }
.apprentissage-niveau-6niveaux .colonne-niveau { width: calc(100%/6 - 2px); }
.apprentissage-niveau-7niveaux .colonne-niveau { width: calc(100%/7 - 2px); }
.apprentissage-niveau-8niveaux .colonne-niveau { width: calc(12.5% - 2px); }
C.7 — Le bouton « Masquer » redevient lisible
[modifier]Rendu actuel du module en service
[modifier]Rendu proposé
[modifier]| Capacité | Niveau | |||||
|---|---|---|---|---|---|---|
| Nom | Type | Catégorie | Puissance | Précision | PP | EV |
| 2 capacités | ||||||
| Flammèche | ![]() | 40 | 100 % | 25 | N.1 | |
| Lance-Flammes | ![]() | 90 | 100 % | 15 | N.30 | |
Ce que vous devez voir. Le même bouton, en plus grand. Mesuré dans le navigateur sur cette page même :
| Module en service | Proposition | |
|---|---|---|
| Taille du texte du bouton | 11,2 px | 14 px (celle du tableau) |
| Police du bouton | Arial, imposée par le navigateur | celle de la page |
| Zone cliquable | 69 × 14 px | 83 × 26 px |
| Compteur « 2 capacités » | 11,2 px | 12,6 px |
Pourquoi ça compte. Le font-size:80% s'applique à un texte
déjà réduit : la cellule d'un tableau standard fait 14 px, et non 16. Le bouton
tombait donc à 11,2 px. Sa zone cliquable, haute de 14 px, restait sous le
minimum de 24 × 24 px du critère [https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html
WCAG 2.2 « Target Size (Minimum) »] — ce qui se sent surtout au doigt, sur
téléphone, là où ces tableaux sont justement le plus repliés.
Un détail au passage : un <button> n'hérite pas de la police
de la page ; le navigateur lui impose Arial. Le libellé du bouton était donc,
seul dans tout le tableau, dans une autre police.
D. Cas limites
[modifier]D.1 — Génération inconnue
[modifier]Module:Apprentissage : génération « 42 » inconnue.
Ce que vous devez voir. Un message court et lisible.
Ce que fait le module actuel dans le même cas. Il s'arrête sur une erreur Lua brute, du type « attempt to index field '?' (a nil value) », qui n'aide personne à comprendre qu'un paramètre est mal écrit.
Une catégorie à créer. Le message range la page dans « Page avec un paramètre d'apprentissage incorrect », sur le modèle des catégories existantes du wiki. Elle n'existe pas encore : elle apparaîtra en rouge jusqu'à ce que quelqu'un la crée, mais elle listera les pages dès maintenant. C'est la seule création demandée par cette proposition, et seulement pour la partie C.
D.2 — Nom de capacité inconnu
[modifier]Ce que vous devez voir. Un lien rouge, des « ?? », et la page rangée dans Catégorie:Page avec un nom de capacité incorrect.
Comportement volontairement inchangé. Une faute de frappe doit rester visible et repérable. C'est précisément parce que cette catégorie est utile qu'il ne faut pas la remplir avec les capacités Ombre du cas C.4.
D.3 — Colonnes de jeu vides
[modifier]| Capacité | Niveau | |||||
|---|---|---|---|---|---|---|
| Nom | Type | Catégorie | Puissance | Précision | PP | SL |
| 2 capacités | ||||||
| Charge | ![]() | 40 | 100 % | 35 | N.1 | |
| Vampigraine | ![]() | — | 90 % | 10 | N.7 | |
Ce que vous devez voir. Une seule colonne de jeu (SL). Les colonnes USUL et LGPE, sans aucune donnée, disparaissent — comportement actuel, conservé.
D.4 — masquer=oui
[modifier]| Capacité | Niveau | |||||
|---|---|---|---|---|---|---|
| Nom | Type | Catégorie | Puissance | Précision | PP | EV |
| 2 capacités | ||||||
| Charge | ![]() | 40 | 100 % | 35 | N.1 | |
| Vampigraine | ![]() | — | 90 % | 10 | N.7 | |
Ce que vous devez voir. Le tableau arrive replié, avec un bouton « [+] Afficher », et le compteur reste lisible même replié.
E. Pour décider
[modifier]La proposition est découpée en trois lots indépendants. Un désaccord sur le troisième n'empêche pas d'adopter le premier.
| Lot | Contenu | Effet sur les pages existantes |
|---|---|---|
| 0 | Corrections internes : variables, texte alternatif de l'icône
Capacité Plus, guillemet en trop, message d'erreur lisible |
Rendu strictement identique |
| 1 | Classes du gadget (B.3), tri des colonnes (B.1, B.2), compteur,
taille du bouton (C.7), |
Aucune page à modifier ; le CSS et le tri s'appliquent tout seuls |
| 2 | transfert et ses colonnes de génération (C.1, C.6),
|
Éteint par défaut ; ne sert que si on l'emploie |
Ce qui a été vérifié avant de vous proposer ceci. Les deux versions ont été exécutées côte à côte sur 18 appels représentatifs, dans la console Scribunto du wiki, et leurs sorties comparées : 17 rendus équivalents, 1 différence — celle du cas A.2 — et aucune erreur.
Ce qui reste à votre main.
- créer la catégorie du cas D.1, si le lot 2 est retenu ;
- dire si les cinq lignes de CSS du cas C.6 vous conviennent — le reste de la
proposition n'en demande aucune ;
- décider si
couleur-type=doit rester une option ou devenir la
norme ;
- dire si le nom
identifiant=vous convient, ou s'il vaut mieux
forme=.
Toute remarque est bienvenue, y compris « ce lot ne nous intéresse pas » : les lots sont indépendants précisément pour ça.






