Bonjour,
Je souhaite filtrer une réponse d'une API. Le problème est que la réponse est limitée aux 4000 premiers enregistrements.
Ce filtre permet de peupler un formulaire de recherche d'une parcelle cadastrale
Il s'agit d'un formulaire dynamique "en cascade" ; chaque champ renseigné active le suivant.
Dans le premier champ, je récupère une liste de communes issue d'un appel à une API avec les entités administratives.
Le second champ est peuplé dès qu'une commune est renseignée. Cela redescend tous les préfixes cadastraux présents sur la commune. C'est issu d'un appel à une API Cadastre dont la demande consiste à faire redescendre toutes les parcelles de la commune renseignée.
Même coup pour le 3e champ qui redescend les valeurs distinctes des sections en fonction du préfixe, et le 4e qui redescend les valeurs distinctes des parcelles en fonction de la section.
Mais le problème est là... Si pour les petites communes cela ne pose pas de problèmes, en revanche cela devient problématiques pour les grosses communes où le nombre de parcelles est important.
Dans le cas présenté, il s'agit de la commune de Castres, qui possède environ 35000 parcelles, réparties sur 135 sections. Mais comme la réponse est limité à 4000 enregistrements, le nombre de sections remontées est 19.
Par exemple, le résultat de l'appel à l'API étant limité aux 4000 premiers enregistrements, s'il existe une section G et qu'aucune parcelle de la section G fait parti les 4000 premiers enregistrements, la section G ne redescendra pas dans le champ déroulant "section".
Mon code est surement trop lourd, un appel ajax à l'api à chaque fois ferait ramer l'application et surtout me ferait modifier sensiblement la structure de l'API.
Si qqun peut me donner un coup de pouce sur ce truc-là...
Merci pour vos retours
Sylvain
Partager