Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API / Détail des randos et portail #3594

Open
camillemonchicourt opened this issue May 15, 2023 · 4 comments
Open

API / Détail des randos et portail #3594

camillemonchicourt opened this issue May 15, 2023 · 4 comments
Labels

Comments

@camillemonchicourt
Copy link
Member

Actuellement si j'ai des randos qui sont associés à un portail mais que je les interroge depuis un autre portail, j'arrive bien à y accéder.

Exemple :

C'est un soucis au niveau du référencement et autres, où je peux avoir des pages sur un portail non souhaité. Comme dans mon cas où sur mon portail Grand tour des Écrins, j'ai accès à toutes les pages des randos de Rando Écrins, et Google aussi.

Donc quand on appelle le détail d'une rando en spécifiant un portail au niveau de l'API, on ne devrait pas renvoyer le contenu si la rando n'est pas associée au portail spécifié.

Idem pour les autres contenus (sites Outdoor, contenus touristiques...)

@marcantoinedupre
Copy link
Contributor

Concernant le référencement de contenus ne correspondant pas au portail je ne pense pas que ça soit possible. Tu peux y accéder car tu connais le couple ID + slug mais ce n'est pas le cas de Google. Et il n'y a apriori aucun lien interne qui pointerait dessus.

@camillemonchicourt
Copy link
Member Author

camillemonchicourt commented May 22, 2023

Oui il y a peu de chances que Google y accède, en effet.
Mais dans mon cas, il les a trouvé et référencé.
C'est un cas à part, mais selon moi, c'est clairement un problème qu'une page puisse être accessible sur un site alors qu'elle n'est pas censée y être.

Clairement, pour moi, quand on interroge l'API du détail d'un objet avec un paramètre de portail et que cet objet n'est pas associé à ce portail, l'API ne devrait pas renvoyer le contenu de l'objet mais une 404.
Exemple indiqué plus haut de https://geotrek-admin.ecrins-parcnational.fr/api/v2/trek/903480/?portal=2

@babastienne
Copy link
Member

Pas sur que ce soit un problème d'API. Si on consulte la vue détail d'un objet en renseignement directement son identifiant c'est normal que l'API le renvoi. Et d'ailleurs une vue détail ne devrait pas être filtrée, ca n'a pas vraiment de sens.

Normalement un utilisateur n'a aucune raison de tomber sur une page avec un id-slug si celle-ci n'est pas référencée quelque part. Or dans Geotrek-Rando si le portail est bien configuré alors l'URL d'une rando associée à un autre portail n'est jamais visible.

Après qu'on veuille que la page renvoi un 404 si l'objet n'est pas associé au portail je peux comprendre. Dans ce cas selon moi c'est un comportement à implémenter dans le Geotrek-Rando et pas dans l'API, car c'est GTR qui contient l'information selon laquelle l'utilisateur ne doit voir que les contenus liés à un portail spécifique. Au moment de fetch le détail d'un objet il devrait vérifier si le portail est présent sinon faire une 404. Dans tous les cas une vue détail n'a pas vraiment de raison d'être filtrée, car il s'agit d'un appel explicite au contenu.

@camillemonchicourt
Copy link
Member Author

On pourrait faire gérer ça à GTR, mais ça me semble un peu lourd et complexe.

Si on interroge le détail d'une rando avec un paramètre de portail dans la requête à l'API et que cette rando est publiée mais pas associée à ce portail, je continue à penser que l'API ne devrait pas renvoyer le contenu de cette rando.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants