Lorsqu'un utilisateur est connecté, les aides sont triées en fonction de son code postal.
Le code postal et le nom de la ville sont modifiables par l'utilisateur dans son profil. Ces deux informations sont utilisées pour récupérer le code INSEE de la commune, du département et de la région. L'api geo.api.gouv.fr est utilisée.
Première remarque: Si le nom de la ville contient une erreur, le code postal n'est pas suffisant pour résoudre le code INSEE, les aides de l'utilisateur ne seront donc pas triés. Par exemple: curl 'https://geo.api.gouv.fr/communes?nom=Paaris&codePostal=75005'
ne retourne pas de réponse.
Seconde remarque: on dirait que pour certaines communes, le processus échoue, et les aides pertinentes ne sont pas triées: elles sont affichées dans le même ordre que si l'utilisateur n'était pas connecté. Et ce alors que l'api geo.api.gouv.fr donne une réponse satisfaisante.
Pour reproduire, voici des cas fonctionnels, les données de ville et code postal sont éditables dans le profil utilisateur:
Ville: Paris, Code postal: 75018, Réponse api: correcte, Tri des aides: correct
Ville: Montpellier, Code postal: 34172, Réponse api: correcte, Tri des aides: correct
Et des cas non fonctionnels:
Ville: La Rochelle, Code postal: 17000, Réponse api: En fonction de la gestion de l'espace, Tri des aides: pas de tri
Ville: Rochelle, Code postal: 17000, Réponse api: correcte, Tri des aides: pas de tri
Ville: Lille, Code postal: 59000, Réponse api: correcte, Tri des aides: pas de tri
Ville: Verlinghem, Code postal: 59237, Réponse api: correcte, Tri des aides: pas de tri
Tous ces cas ont des aides dans le système en production qui devraient correspondre.
Je me suis demandé s'il y avait un problème de conflit entre commune et département. Mais le cas de Montpellier affiche bien les différents types d'aides (agglomération, de commune, département).
Pour référence, voici le code qui appelle l'api geo.api.gouv.fr:
|
public async getCommunesByPostalCodeAndCity( |
Voici le code qui récupère les aides en bdd à partir des codes insee:
|
'territoryLookup.inseeValueList': { |
Sans debug, difficile d'identifier la source du problème. Mais il est probable que cela touche une partie importante du territoire.