Enhancement #38081
Mis à jour par Benoît Regamey il y a 11 mois
Actuellement, la "Zone preselection API de plans-reseaux":https://plans-reseaux.ch/api/doc permet de faire un lien sur la page d'accueil du portail (la carte) avec une présélection de la zone à commander.
Faire évoluer cette API pour couvrir plus de cas d'usage
*Comportement à implémenter*
Modifier l'API https://plans-reseaux.ch/api/websearch/bbox/xmin/ymin/xmax/ymax comme suit :
* Supprimer les paramètres du BBOX du chemin de l'URL. Le chemin de l'API serait : https://plans-reseaux.ch/api/websearch
* Pour les appels d'API en allemand : https://plans-reseaux.ch/de/api/websearch. La langue de préférence dans la session du navigateur est ignorée (e.g. si fr, lien sur PR en allemand)
* Pour les appels en français, la langue de préférence dans la session du navigateur est prise en compte (e.g. si de, lien sur PR en allemand)
* Ajouter un paramètre de requête obligatoire "perimeter" pour sélectionner un périmètre de commande libre (polygone)
E.g. perimeter=x,y,x,y,x,y,x,y,x,y,x,y,x,y,x,y
Les coordonnées doivent être en MN95, si le dernier vertex ne correspond pas au premier, le polygone est automatiquement fermé
* Ajouter un paramètre de requête optionnel "bgLayer" pour sélectionner le fond de carte entre adresses ou parcelles
E.g. bgLayer=addresses ou bgLayer=parcels
Par défaut : bgLayer=addresses
* Ajouter un paramètre de requête optionnel "showList" pour renvoyer directement sur la liste des plans à commander et non sur la carte
E.g. showList=true ou showList=false
Par défaut : showList=false
* Si le périmètre est trop grand (> 0.2 km2) : le paramètre showList est ignoré (la valeur par défaut false est utilisée), l'utilisateur est renvoyé vers la carte avec la zone à commander en rouge et le texte "La surface sélectionnée est trop importante."
* Si le périmètre est invalide (moins de 3 vertex) : renvoi sur "page introuvable"
* Tous les appels API écrasent les éventuelles zones à commander disponibles dans la session du navigateur
*Maquettes*
Exemples d'appels API :
* *Uniquement périmètre*
https://plans-reseaux.ch/api/websearch?perimeter=2537629,1151976,2537633,1151974,2537641,1151988,2537656,1151983,2537658,1151987,2537638,1151996,2537629,1151976
!{max-width: 600px}clipboard-202501071251-lo7gf.png!
* *Périmètre et showList=true*
https://plans-reseaux.ch/api/websearch?perimeter=2537629,1151976,2537633,1151974,2537641,1151988,2537656,1151983,2537658,1151987,2537638,1151996,2537629,1151976&showList=true
!{max-width: 600px}clipboard-202501071254-1rirr.png!
* *Périmètre trop grand*
https://plans-reseaux.ch/api/websearch?perimeter=2537475,1151788,2538077,151788,2538077,1152162,2537475,1152162,2537475,1151788&showList=true
!{max-width: 600px}clipboard-202501071300-imo97.png!