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

Add deep links #66

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Add deep links #66

wants to merge 3 commits into from

Conversation

kriom
Copy link
Contributor

@kriom kriom commented May 13, 2019

L'idée est de permettre d'utiliser des liens profonds comme évoqué ici : #56

Le format proposé est : http://127.0.0.1:5000/#<departement>-<commune>-<section>-<parcelle>

Par exemple avec l'URL : http://127.0.0.1:5000/#38-38005-380050000E-380050000E1198
Le principe est de lire parent.location.hash => ("#38-38005-380050000E-380050000E1198")
de retirer le "#" puis de spliter sur "-" => ["38", "38005", "380050000E", "380050000E1198"]
Ensuite les valeurs du tableau sont affectés, dans l'ordre et si définie, aux listes déroulantes : #departements, #communes, #sections, #parcelles

De plus lors de la navigation de l'utilisateur l'URL est mise à jour via l'affectation de parent.location.hash

Bien cordialement,

@kriom kriom mentioned this pull request May 13, 2019
@jdesboeufs
Copy link
Member

Alors tout d'abord merci pour cette PR.
De mon côté je m'étais assigné l'issue, et dans les faits j'avais commencé l'implémentation, mais ça n'a pas trop d'importance.

Plusieurs points :

  1. On devrait favoriser les URL en dur plutôt que les #hash, car les différents résolves des médias sociaux ne savent pas trop quoi en faire, et le serveur ne les reçoit jamais. Donc je préfère une implémentation avec history.pushState().
  2. Les URL sont un peu moches, et trop riches, on a de la redondance. Je comprends que ce soit pratique derrière pour itérer sur les paramètres.
  3. Utiliser le formulaire de navigation est malin et rapide, mais ça nous fige un peu dans ce cadre alors que derrière nous avons l'intention d'ajouter de la recherche par adresse ou de la navigation libre sur la carte. De mon côté j'avais fait le choix d'utiliser des fonctions de plus haut niveau.

Il faut aussi faire en sorte que Matomo (les stats) soit notifié des changement de page.

Voici mon code dans l'état dans lequel je l'ai laissé il y a quelques jours :
https://github.com/etalab/DVF-app/compare/jdesboeufs/deep-navigation

@kriom
Copy link
Contributor Author

kriom commented May 17, 2019

Je vais regarder votre branche
En effet ma PR était plus une Proof Of Concept.
Elle peut être fermée.

@tchernomax
Copy link

tchernomax commented Sep 8, 2019

@jdesboeufs any update on this ?

I tried both branches:

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

Successfully merging this pull request may close these issues.

3 participants