eric-taix / volley34-mobile

Application mobile pour le Volley34
3 stars 0 forks source link

Incohérences de stats #272

Closed Lo0ping closed 2 years ago

Lo0ping commented 2 years ago

Salut,

Dans la fiche club (onglet Équipes), les statistiques sont incorrectes Screenshot_20220120-072231.jpg

Alors que

Screenshot_20220120-072246.jpg

eric-taix commented 2 years ago

Oui j'ai vu. Je pense avoir fait un erreur d'interprétation sur l'API:

Quand je requête le classement d'une équipe (http://api.volley34.fr/v1/Classements/equipes/{{Equipe}}) la division qui m'est renvoyée est sous forme de chaine du type EX pour excellence. Par contre quand je requête les compétitions d'une équipe (http://api.volley34.fr/v1/equipes/{{Equipe}}/competitions) la division m'est renvoyéesous forme de chaîne mais du style 1 pour excellence dans le brassage championnat mixte 4x4. J'avais pensé que que récupérer la liste des divisions (http://api.volley34.fr/v1/divisions) :

{
        "CodeValueListCode": "EX",
        "CodeValueListValue": "Excellence",
        "CodeValueListRankItem": 1,
        "CodeValueListActiveItem": true,
        "CodeValueListColor": null,
        "CodeValueListOptions": null
    },

me permettait de faire le lien entre EX et 1! Mais ce n'est peut être pas le cas.

Pourrais tu renvoyer le numéro de division 1 plutôt que EX dans le classement d'une équipe ? Cela permettrait d'unifier la façon dont les divisions sont renvoyées. Après reste à savoir comment je sais que 1 correspond au libellé Excellence ?

Note: Je ne suis pas sûr que cela soit la cause du soucis que tu évoques, mais clairement il y a un truc pas clair à ce niveau de mon coté et le peu de recherche que j'ai fait tendent à me dire que c'est certainement ca.

A ce propos le libellé d'une compétition (ex: "Challenge 2022 - Brassage 4x4 mixte" contient des informations (dont tu te sers certainement sur le site web) que je ne peux pas extraire car c'est une chaine de caractères donc pas assez structuré. Pourrais tu rajouter un champ LibelleCourt dans le endpoint des compétitions qui contiendrait par exemple "Championnat Brassage" , "Championnat", "Coupe", "Challenge" donc sans année, sans tiret, sans notion de mixité ou de nombre de joueurs. De mon coté je pourrais ainsi reconstruire ce que je souhaite afficher en prenant en compte les contraintes de taille d'un téléphone ainsi que le coté design.

Lo0ping commented 2 years ago

Alors,

...me permettait de faire le lien entre EX et 1! Mais ce n'est peut être pas le cas.

Oui, la Liste des division (http://api.volley34.fr/v1/divisions) te donne les bonnes infos

{
        "CodeValueListCode": "EX",                                   <== ICI
        "CodeValueListValue": "Excellence",
        "CodeValueListRankItem": 1,                                  <== ICI
        "CodeValueListActiveItem": true,
        "CodeValueListColor": null,
        "CodeValueListOptions": null
},

Pourrais tu renvoyer le numéro de division 1 plutôt que EX dans le classement d'une équipe ? Cela permettrait d'unifier la façon dont les divisions sont renvoyées. Après reste à savoir comment je sais que 1 correspond au libellé Excellence ?

Il faut que j'examine l'impact car le EX est utilisé dans les codeClassement

A ce propos le libellé d'une compétition (ex: "Challenge 2022 - Brassage 4x4 mixte" contient des informations (dont tu te sers certainement sur le site web) que je ne peux pas extraire car c'est une chaine de caractères donc pas assez structuré. Pourrais tu rajouter un champ LibelleCourt dans le endpoint des compétitions qui contiendrait par exemple "Championnat Brassage" ,

tu as déjà l'information en fait :

Pour toutes compétitions, le code est déterminé de la forme = SSSS-CXXY avec :

Pour le coup, je ne pense pas que le libellé court et générique soit utile

eric-taix commented 2 years ago

Ok je vérifierais pour l'id de la division. Pour le libellé comment je fais la différence entre championnat et championnat brassage du coup ?

eric-taix commented 2 years ago

@Lo0ping ?


Ok je vérifierais pour l'id de la division. Pour le libellé comment je fais la différence entre championnat et championnat brassage du coup ?

Du coup tu as une idée sur cette question ?


Concernant la notion de division et de numéro de division (par exemple EX et 1) j'ai vérifié sur l'équipe CVB34X1 (la commission):

eric-taix commented 2 years ago

Je pense l'avoir fixé (le problème que j'avais évoqué mais pas celui décrit dans cette issue) en passant par la requête qui donne la liste des compétitions d'une équipe. Mais il n'en reste pas moins qu'il y a un truc suspect à mon avis.

Lo0ping commented 2 years ago

je vais regarder ...

Lo0ping commented 2 years ago

Ok je vérifierais pour l'id de la division. Pour le libellé comment je fais la différence entre championnat et championnat brassage du coup ?

Il n'y a pas de moyen de le distinguer. La seule chose est si tu as 2 championnats (cf explication des codes compétitions) alors le 1er est un brassage

eric-taix commented 2 years ago

Ok je vérifierais pour l'id de la division. Pour le libellé comment je fais la différence entre championnat et championnat brassage du coup ?

Il n'y a pas de moyen de le distinguer. La seule chose est si tu as 2 championnats (cf explication des codes compétitions) alors le 1er est un brassage

Pour l'instant j'ai extrait du libellé complet (Championnat 2022 Brassage - 4x4 Mixte par exemple): 1- tous les entiers donc les dates (2022) 2- le caractère - 3- toutes les notions de type de jeu (4x4, 6x6) 4- toutes les notions de mixités (Féminin, Masculin, Mixte)

Ca fonctionne mais très fragile car énormément dépendant des libellés que tu vas mettre. D'où ma proposition d'avoir un libellé court optionnel coté BD qui exclue toutes les notions que j'ai évoqué au dessus mais cela pourra se faire plus tard.

Lo0ping commented 2 years ago

Les compétitions sont créée par script porte le même nommage :

s'il y a des changements, ça restera exceptionnel par contre, ma question, pourquoi ne récupères tu pas la liste des compétitions de la saison ?

eric-taix commented 2 years ago

Je récupère la liste mais pour les filtres dans la page compétition. Le libellé je le trouve aussi dans d'autres endpoints. Ceci dit cela ne changerait rien à mon extraction de libellé non ?

Lo0ping commented 2 years ago

non, mais je n'en comprends pas l'utiliité puis tu les as déjà 🤣