Modèle:Fstats/Test

Une page de Wikipédia, l'encyclopédie libre.

Liste des modèles concernés :

Rendu particulier pour la saison en cours (proposition 2023)[modifier le code]

Discussion Projet:Football#Actualisation des statistiques de joueurs en cours de saison (lien permanent).

Le code dans les articles resterait inchangé. Le changement de comportement (affichage du message) est globalement réalisé automatiquement le de chaque année. Mais, il pourrait être configuré en fonction du pays afin de s'adapter aux championnats qui finissent à d'autres moments de l'année.

Remarques techniques

  • Seul le modèle Fstats est concerné par une évolution. Et création éventuelle de sous-modèles de test et de catégorisation.
  • Par simplicité, pour le pas avoir à traiter des dates et en raison des limitations techniques sur les expressions régulières du module String (alternative « ou » notée « | » indisponible), l'affichage ne se fait que sur la saison en cours ou la future saison la plus proche. Mais vu que ces tableaux ne devraient jamais contenir de lignes pour la saison ultérieure, cela ne devrait pas poser problème.
  • Il faudra évaluer l'impact en termes de performance (coût d’exécution des modèles) ; pas de risque en ce qui concerne la « taille de développement après expansion » mais augmentation de l'utilisation de mémoire Lua, du nombre de nœuds de préprocesseur visités et de la « taille d’inclusion après expansion ».

Exemples[modifier le code]

Statistiques de Fstats/Test
Saison Club Championnat Coupe(s) nationale(s) Total
Division M. B. M. B. M. B.
2021-2022 Drapeau de l'Angleterre Arsenal FC PL - - - - 0 0
2022-2023 Drapeau de la France SM Caen Ligue 2 - - - - 0 0
2023-2024 Drapeau de la France Club Ligue 2 - - - - 0 0
Statistiques de Exemple fictif au
Saison Club Championnat Coupe nationale Coupe de la Ligue Supercoupe Compétition(s)
continentale(s)
Sélection Total
Division M. B. M. B. M. B. M. B. Comp. M. B. Équipe M. B. M. B.
2006-2007 Drapeau de l'Espagne CA Osasuna 1 1 0 1 0 - - - - C3 1 0 Espagne - 19 ans 5 1 8 1
2007-2008 Drapeau de l'Espagne CA Osasuna 1 29 0 - - - - - - - - - Espagne - 19 ans 10 1 39 1
2008-2009 Drapeau de l'Espagne CA Osasuna 1 36 0 2 0 - - - - - - - Espagne - 19 ans
Espagne - 20 ans
Espagne espoirs
3
5
7
0
0
0
53 0
2009-2010 Drapeau de l'Espagne CA Osasuna 1 33 0 5 0 - - - - - - - Espagne espoirs 5 1 43 1
Sous-total 99 0 8 0 - - - - - 1 0 - 35 3 143 3
2021-2022 Drapeau de la France Olympique de Marseille 1 15 0 - - 1 1 1 0 C1 4 0 Espagne espoirs 7 0 28 1
2022-2023 Drapeau de la France Olympique de Marseille 1 15 0 - - 1 - 1 0 C1 4 0 - - - 21 0
2023-2024 Drapeau de la France Olympique de Marseille 1 - - - - - - - - C1 - - - - - 0 0
Sous-total 30 0 - - 2 1 2 0 - 8 0 - 7 0 49 1
Total sur la carrière 129 0 8 0 2 1 2 0 - 9 0 - 42 3 192 4

Idées pour alléger le coût d'utilisation du modèle[modifier le code]

  • Simplification du code. Il y avait des tests redondants inutiles. Corrigés.
  • Retirer certaines infobulles dans l'en-tête du tableau. On n'est pas obligé de les répéter à l'identique dans chaque colonne.
  • Les principaux appels à fonctions coûteuses sont les tests d'existence d'articles pour les trois premières colonnes du tableau. Jusqu'à trois tests pour la première colonne (saison) ; ces tests sont voués à l'échec si le paramètre 1 ou le paramètre 2 contient un crochet. Un test de ce type effectué en priorité serait peut-être préférable en fonction bien sur du taux de présence de crochets dans ces paramètres. Après vérification, il semblerait que MediaWiki exclue rapidement les tests dans ce cas et donc que la recherche coûteuse ne soit pas effectuée. Ouf ! Il reste néammoins préférable, sur le plan exécution, que le rédacteur renseigne le paramètre « liensaison ».

Fusion des cellules (proposition 2021)[modifier le code]

Autres discussions relatives à ce modèle Discussion Projet:Modèle/Archive 2021#Modèle:Fstats

Explication technique pour le choix de la syntaxe de fusion[modifier le code]

Dans les deux cas, on met :

  • « rowspanclub=N » (N valant 2 ou plus) pour le modèle de chaque "première ligne à fusionner" ;
  • « rowspanclub=0 » pour les N-1 suivants.

Proposition technique A[modifier le code]

Elle consiste à mettre dans une même couleur toutes les cellules de la deuxième colonne, ligne par ligne, par l'intermédiaire du paramètre rowspanclub. Donc pour les autres lignes, il y a besoin de mettre « rowspanclub=1 ». Il ne faudrait jamais utiliser cette valeur dans les « tableaux sans fusion », sous peine d'avoir là aussi des cases de la seconde colonne ne respectant pas l'alternance de couleur.

Proposition technique B[modifier le code]

Elle repose sur davantage de CSS. Sauf erreur ou incompatibilité de navigateur, le résultat est le même. Mais la syntaxe pour l'appliqer est différente.
Avec cette méthode, on s'affranchit de la question des lignes "sans fusion". Les rowspanclub=1 ne seraient plus nécéssaires ; ils serait inutiles mais pas gênants. En revanche, on ajoute un paramètre « tableaurowspanclub=oui » (peut-être trouver un nom plus explicite) au modèle {{Fstats début}}, afin d'ajouter la classe « col2unie » au tableau. Le code CSS fait en sorte que toutes les cellules (secondes cases) des lignes aient un fond de la couleur choisie, sauf dans les lignes correspondant à un rowspanclub=0 (pour lesquelles la deuxième case est située dans la troisième colonne) et les intrus (lignes de sous-totaux repérées par leur couleur soit actuellement #E6E6E6 ; une méthode alternative consisterait à assigner une classe à ces lignes).

CSS

.fstats.alternance2 tr,
.fstats.alternance2 th[scope="row"] {
	background-color: blue;
}
.fstats.alternance2 tr:nth-child(odd),
.fstats.alternance2 tr:nth-child(odd) th[scope="row"] {
	background-color: red;
}

/*la couleur (ici #E6E6E6) est à définir identique à celle choisie pour/dans « Fstats total »*/
.col2unie tr:not(.fstatsfusion):not([style*="#E6E6E6"])>td:nth-child(2){
	background-color: #f4f9fe;
}

HTML

Un exemple de tableau, avec les classes 
<table class="aa alternance2 col2unie">
    <tr>
      <th></th></tr>
    <tr>
      <td></td><td></td><td></td>
    </tr>
    <tr>
      <td></td><td rowspan="3"></td><td></td>
    </tr>
    <tr class="fstatsfusion">
      <td></td><td></td>
    </tr>
    <tr class="fstatsfusion">
      <td></td><td></td>
    </tr>
    <tr>
      <td></td><td></td><td></td>
    </tr>
    <tr style="background:#E6E6E6;">/* ligne des sous-totaux */
      <td></td></tr>
    <tr>
      <td></td><td rowspan="2"></td><td></td>
    </tr>
    <tr class="fstatsfusion">
      <td></td><td></td>
    </tr>
</table>

La classe "fstatsfusion" introduite à bon escient par le modèle Fstats permet de repérer si la ligne est de type {{Fstats|rowspanclub=0}} parce que dans ce cas, il ne faut pas changer la couleur de sa seconde case qui factuellement se trouve dans la troisième colonne du tableau.

Une proposition C ?[modifier le code]

Dans la mesure de mes compétences en codage, HTML et CSS, je n'ai pas réussi à mettre au point quelque chose de fonctionnel. Mais je reste persuadé qu’une autre méthode, relativement simple sur le papier, serait bien meilleure (adaptation automatique, moins d'intrusion dans le code des articles).
Idéalement, il ne devrait pas y avoir besoin de dire au tableau qu'il est dans un cas ou dans l'autre (dans l'exemple ci-dessus la classe col2unie). Le CSS devrait pouvoir repérer tout seul et on n'aurait pas besoin de rajouter de paramètre optionnel ajoutant manuellement une classe au modèle de début de tableau. Donc le paramètre « tableaurowspanclub=oui » de la méthode B ou les « rowspanclub=1 » de la méthode A devraient rapidement devenir techniquement obsolètes.

Plusieurs pistes explorées :

a. Mauvaise piste. Ajouter une classe « fstatsfusionf » pour les premières lignes avec une cellule fusionnée (correspond à rowspanclub=n, n>1), via le modèle Fstats (pour mémoire, d'autres lignes du tableau, en l’occurrence pour les sous-totaux et dans les en-têtes ont des cellules fusionnées). Solliciter un sélecteur de jumeaux « ~ » (tr du même niveau)
tr.fstatsfusionf>td:nth-child(2), tr.fstatsfusionf~tr:not(.fstatsfusion):not([style*="#E6E6E6"])>td:nth-child(2){ background-color: #f4f9fe; }
Ce serait OK si on était assuré que les premières lignes des tableaux contiennent toujours des cellules fusionnées*. Or, ce n'est pas nécessairement le cas. (*, car « ~ » sélectionne les voisins qui suivent le premier « .fstatsfusionf » rencontré.)

b. Dans les spécifications Selectors Level 4du CSS, une fonctionnalité était prévue « ! » pour permettre de sélectionner un parent en fonction des ses enfants. Par exemple ici, table! tr.fstatsfusion.

c. Il était aussi question de la pseudo-class :has() un simple table.has(> tr.fstatsfusion)… pourrait fait l'affaire. Comme au point précédent, Ces spécifications ne sont pas (ou pas encore) supportées par les navigateurs, en CSS natif.

Pour faire clair, il s'agit par exemple de trouver un sélecteur donnant tous les éléments de types td (sauf exceptions citées au point a.) parmi les enfants d'un tr dont un des enfants est de classe "fstatsfusion".

d. Possibilité de solliciter un script javascript ou jquery ($("table:has(tr.fstatsfusion)").addClass("col2unie");, ce dernier n'étant pas forcément adapté pour Wikipédia) mais je passe mon tour. Si une telle approche est retenue, il serait envisageable de mieux gérer l'alternance parce qu'on pourrait se servir d'un compteur.

e. Autre piste avec un rendu différent, par club. Se débrouiller via les modèles pour ouvrir un <tbody> avant chaque ligne de début de club et le fermer après la dernière. La présence éventuelle des lignes de sous-totaux est encore un point délicat. Appliquer ensuite une alternance sur ces éléments. N.B. : Le sélecteur nth-child ne permet pas encore de distinguer par classes ou attributs (cf. Discussion Projet:Football/Archive86#Tableaux de statistiques).


Version bac à sable[modifier le code]

Présentation classique[modifier le code]

Pas de rowspanclub défini dans le tableau. Témoins non-régression.

Proposition technique A[modifier le code]
Statistiques de Fstats/Test
Saison Club Championnat Coupe(s) nationale(s) Total
Division M B Pd M B Pd M B Pd
2004-2005 Drapeau de la France Olympique lyonnais L1 6 0 1 - - - 6 0 1
2005-2006 Drapeau de la France Olympique lyonnais Ligue 1 13 1 4 2 2 0 15 3 4
2006-2007 Drapeau de la France Olympique lyonnais Ligue 1 21 5 5 1 0 0 22 5 5
2007-2008 Drapeau de la France Ailleurs Ligue 1 10 5 3 2 0 0 12 5 3
Total sur la carrière 50 11 13 5 2 0 55 13 13
Proposition technique B[modifier le code]

Pour tester mais normalement la même chose, ici, comme plus bas. (comparaison des deux méthodes.)

Statistiques de Fstats/Test
Saison Club Championnat Coupe(s) nationale(s) Total
Division M B Pd M B Pd M B Pd
2004-2005 Drapeau de la France Olympique lyonnais L1 6 0 1 - - - 6 0 1
2005-2006 Drapeau de la France Olympique lyonnais Ligue 1 13 1 4 2 2 0 15 3 4
2006-2007 Drapeau de la France Olympique lyonnais Ligue 1 21 5 5 1 0 0 22 5 5
2007-2008 Drapeau de la France Ailleurs Ligue 1 10 5 3 2 0 0 12 5 3
Total sur la carrière 50 11 13 5 2 0 55 13 13

Présentation classique avec sous-totaux[modifier le code]

Pas de rowspanclub défini dans le tableau. Témoins non-régression.

Proposition technique A[modifier le code]
Statistiques de Fstats/Test
Saison Club Championnat Coupe(s) nationale(s) Total
Division M B M B M B
2010-2011 Drapeau de l'Angleterre Liverpool PL - - - - 0 0
2011-2012 Drapeau de l'Angleterre Arsenal FC PL - - - - 0 0
2012-2013 Drapeau de l'Angleterre Arsenal FC PL - - - - 0 0
Sous-total 40 6 3 2 43 8
2017-2018 Drapeau de la France AA Ligue 2 - - - - 0 0
2018-2019 Drapeau de la France BB Ligue 2 - - - - 0 0
Total sur la carrière 79 86 9 8 88 94
Proposition technique B[modifier le code]
Statistiques de Fstats/Test
Saison Club Championnat Coupe(s) nationale(s) Total
Division M B M B M B
2010-2011 Drapeau de l'Angleterre Liverpool PL - - - - 0 0
2011-2012 Drapeau de l'Angleterre Arsenal FC PL - - - - 0 0
2012-2013 Drapeau de l'Angleterre Arsenal FC PL - - - - 0 0
Sous-total 40 6 3 2 43 8
2017-2018 Drapeau de la France AA Ligue 2 - - - - 0 0
2018-2019 Drapeau de la France BB Ligue 2 - - - - 0 0
Total sur la carrière 79 86 9 8 88 94

Présentation avec fusion[modifier le code]

Proposition technique A[modifier le code]
Statistiques de Fstats/Test
Saison Club Championnat Coupe(s) nationale(s) Total
Division M B Pd M B Pd M B Pd
2004-2005 Drapeau de la France Olympique lyonnais L1 6 0 1 - - - 6 0 1
2005-2006 Ligue 1 13 1 4 2 2 0 15 3 4
2006-2007 Ligue 1 21 5 5 1 0 0 22 5 5
2007-2008 Drapeau de la France Ailleurs Ligue 1 10 5 3 2 0 0 12 5 3
Total sur la carrière 50 11 13 5 2 0 55 13 13
Proposition technique B[modifier le code]
Statistiques de Fstats/Test
Saison Club Championnat Coupe(s) nationale(s) Total
Division M B Pd M B Pd M B Pd
2004-2005 Drapeau de la France Olympique lyonnais L1 6 0 1 - - - 6 0 1
2005-2006 Ligue 1 13 1 4 2 2 0 15 3 4
2006-2007 Ligue 1 21 5 5 1 0 0 22 5 5
2007-2008 Drapeau de la France Ailleurs Ligue 1 10 5 3 2 0 0 12 5 3
Total sur la carrière 50 11 13 5 2 0 55 13 13

Présentation avec fusion et sous-totaux[modifier le code]

Proposition technique A[modifier le code]
Statistiques de Fstats/Test
Saison Club Championnat Coupe(s) nationale(s) Total
Division M B M B M B
2010-2011 Drapeau de l'Angleterre Liverpool PL - - - - 0 0
2011-2012 Drapeau de l'Angleterre Arsenal FC PL - - - - 0 0
2012-2013 PL - - - - 0 0
Sous-total 40 6 3 2 43 8
2017-2018 Drapeau de la France AA Ligue 2 - - - - 0 0
2018-2019 Drapeau de la France BB Ligue 2 - - - - 0 0
Total sur la carrière 79 86 9 8 88 94
Proposition technique B[modifier le code]
Statistiques de Fstats/Test
Saison Club Championnat Coupe(s) nationale(s) Total
Division M B M B M B
2010-2011 Drapeau de l'Angleterre Liverpool PL - - - - 0 0
2011-2012 Drapeau de l'Angleterre Arsenal FC PL - - - - 0 0
2012-2013 PL - - - - 0 0
Sous-total 40 6 3 2 43 8
2017-2018 Drapeau de la France AA Ligue 2 - - - - 0 0
2018-2019 Drapeau de la France BB Ligue 2 - - - - 0 0
Total sur la carrière 79 86 9 8 88 94


Présentation chargée et fusionnée (prop. A)[modifier le code]
Statistiques individuelles de Cristiano Ronaldo au [1],[2],[3]
Saison Club Championnat Coupe(s) nationale(s) Supercoupe Compétition(s)
continentale(s)
Supercoupe UEFA Coupe du monde des clubs Total
Division M B Pd M B Pd M B Pd C M B Pd M B Pd M B Pd M B Pd
2002-2003 Drapeau du Portugal Sporting Portugal Superliga 25 3 6 3 2 0 - - - C1+C3 1+2 0 0 - - - - - - 31 5 6
Sous-total 25 3 6 3 2 0 - - - - 3 0 0 - - - - - - 31 5 6
2003-2004 Drapeau de l'Angleterre Manchester United PL 29 4 3 6 2 3 - - - C1 5 0 1 - - - - - - 40 6 7
2004-2005 PL 33 5 4 9 4 4 - - - C1 8 0 2 - - - - - - 50 9 10
2005-2006 PL 33 9 6 6 2 1 - - - C1 8 1 1 - - - - - - 47 12 8
2006-2007 PL 34 17 13 8 3 1 - - - C1 11 3 5 - - - - - - 53 23 19
2007-2008 PL 34 31 7 3 3 0 1 0 0 C1 11 8 1 - - - - - - 49 42 8
2008-2009 PL 33 18 6 6 3 0 - - - C1 12 4 2 - - - 2 1 1 53 26 9
Sous-total 196 84 39 38 17 9 1 0 0 - 55 16 12 0 0 0 2 1 1 292 118 61
2009-2010 Drapeau de l'Espagne Real Madrid CF Liga 29 26 7 0 0 0 - - - C1 6 7 0 - - - - - - 35 33 7
2010-2011 Drapeau de l'Espagne Real Madrid CF Liga 34 41 10 8 7 1 - - - C1 12 6 4 - - - - - - 54 54 15
2011-2012 Drapeau de l'Espagne Real Madrid CF Liga 16 20 6 1 1 0 2 1 0 C1 4 3 2 - - - - - - 23 25 8
Sous-total 79 86 23 9 8 1 2 1 0 - 22 16 6 0 0 0 0 0 0 112 111 30
Total sur la carrière 300 173 68 50 27 10 3 1 0 - 80 32 18 0 0 0 2 1 1 435 234 97

Notes et références

  1. « Fiche de Critiano Ronaldo », sur footballdatabase.eu
  2. (en) « Fiche de Cristiano Ronaldo », sur national-football-teams.com
  3. (en) « Fiche de Cristiano Ronaldo », sur BDFutbol.com

Version du modèle de base[modifier le code]

Syntaxe 2020 et avant.

Statistiques de Fstats/Test
Saison Club Championnat Coupe(s) nationale(s) Total
Division M. B. M. B. M. B.
2011-2012 Drapeau de l'Angleterre Arsenal FC PL - - - - 0 0
2012-2013 Drapeau de la France SM Caen Ligue 2 - - - - 0 0
Statistiques individuelles de Cristiano Ronaldo au [1],[2],[3]
Saison Club Championnat Coupe(s) nationale(s) Supercoupe Compétition(s)
continentale(s)
Supercoupe UEFA Coupe du monde des clubs Total
Division M. B. P.d. M. B. P.d. M. B. P.d. Comp. M. B. P.d. M. B. P.d. M. B. P.d. M. B. P.d.
2002-2003 Drapeau du Portugal Sporting Portugal Superliga 25 3 6 3 2 0 - - - C1+C3 1+2 0 0 - - - - - - 31 5 6
Sous-total 25 3 6 3 2 0 - - - - 3 0 0 - - - - - - 31 5 6
2003-2004 Drapeau de l'Angleterre Manchester United PL 29 4 3 6 2 3 - - - C1 5 0 1 - - - - - - 40 6 7
2004-2005 Drapeau de l'Angleterre Manchester United PL 33 5 4 9 4 4 - - - C1 8 0 2 - - - - - - 50 9 10
2005-2006 Drapeau de l'Angleterre Manchester United PL 33 9 6 6 2 1 - - - C1 8 1 1 - - - - - - 47 12 8
2006-2007 Drapeau de l'Angleterre Manchester United PL 34 17 13 8 3 1 - - - C1 11 3 5 - - - - - - 53 23 19
2007-2008 Drapeau de l'Angleterre Manchester United PL 34 31 7 3 3 0 1 0 0 C1 11 8 1 - - - - - - 49 42 8
2008-2009 Drapeau de l'Angleterre Manchester United PL 33 18 6 6 3 0 - - - C1 12 4 2 - - - 2 1 1 53 26 9
Sous-total 196 84 39 38 17 9 1 0 0 - 55 16 12 0 0 0 2 1 1 292 118 61
2009-2010 Drapeau de l'Espagne Real Madrid CF Liga 29 26 7 0 0 0 - - - C1 6 7 0 - - - - - - 35 33 7
2010-2011 Drapeau de l'Espagne Real Madrid CF Liga 34 41 10 8 7 1 - - - C1 12 6 4 - - - - - - 54 54 15
2011-2012 Drapeau de l'Espagne Real Madrid CF Liga 16 20 6 1 1 0 2 1 0 C1 4 3 2 - - - - - - 23 25 8
Sous-total 79 86 23 9 8 1 2 1 0 - 22 16 6 0 0 0 0 0 0 112 111 30
Total sur la carrière 300 173 68 50 27 10 3 1 0 - 80 32 18 0 0 0 2 1 1 435 234 97

Notes et références

  1. « Fiche de Critiano Ronaldo », sur footballdatabase.eu
  2. (en) « Fiche de Cristiano Ronaldo », sur national-football-teams.com
  3. (en) « Fiche de Cristiano Ronaldo », sur BDFutbol.com