Skip to content

Fix qpv cors#157

Open
CamilleLegeron wants to merge 4 commits intomainfrom
fix-qpv-cors
Open

Fix qpv cors#157
CamilleLegeron wants to merge 4 commits intomainfrom
fix-qpv-cors

Conversation

@CamilleLegeron
Copy link
Collaborator

@CamilleLegeron CamilleLegeron commented Dec 17, 2025

Contexte

Il y a un soucis avec l'url utilisé pour télécharger les paramètres QPV, l'url envoie un code 301 (redirection) et ne permet pas de requêtes cross-origin. Il est étonnant que ça fonctionnait auparavant. L'url utilisé est https://www.data.gouv.fr/fr/datasets/r/942d4ee8-8142-4556-8ea1-335537ce1119 qu'on peut aussi retrouvé depuis ce lien :
https://www.data.gouv.fr/datasets/quartiers-prioritaires-de-la-politique-de-la-ville-qpv

Il faut noter que ces données changent très rarement et que dans le comportement précédent les données étaient téléchargées à l'ouverture du widget ce qui ralentissait son usage notamment à l'initialisation.

Réalisé

On charge le geojson directement dans le git en le mettant dans le fossier /public. Il ne vaut mieux pas compter sur une action humaine pour la mise à jour de ce fichier, on crée donc un cron qui va charger ce fichier à interval régulier pour s'assurer d'utiliser la dernière version. Ce changement permet d'avoir une utilisation plus rapide du widget.

Copy link
Collaborator

@fflorent fflorent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merci Camille, est-ce que tu peux rajouter une description ?

C'est très important même pour des petites PRs pour avoir du contexte quand on reviewe le code.

// Fichier GeoJSON hébergé localement pour éviter les problèmes CORS
// Le fichier est servi depuis GitHub Pages dans le dossier public/
// https://www.data.gouv.fr/fr/datasets/r/942d4ee8-8142-4556-8ea1-335537ce1119
const QPV_DATA_URL = "/qp-politiques-ville.geojson";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ça me paraît bourrin de vouloir mettre le JSON dans le repo Git, même pour corriger un souci de CORS.

Est-ce que c'est pas plutôt envisageable de télécharger le JSON soit au moment du démarrage du serveur soit au moment du build de l'app ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je suis pas certaine de comprendre ce que tu veux dire ? Si tu veux pas le mettre dans le repo git c'est pas une question de quand on le fait mais où on le stock, et le démarrage du serveur ou le build peuvent être très espacé si on fait pas de mise à jour du code pendant un temps

Enfait je comprends pas le soucis de le mettre dans le repo git tant qu'on le met dans le gitignore

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je trouve de plus que le comportement du widget est bien mieux qu'avant parce qu'il est tout de suite opérationnel, avant on chargeait les données à chaque rechargement du widget et donc c'était très lent au début et ça l'était pour chaque utilisateur

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La je vois que la dernière mise à jour de ce fichier est même le 5 fev 2025 donc potentiellement il y a besoin de le mettre à jour qu'une fois par an ou tous les 6 mois (ou tous les mois si on veut être certains d'avoir la dernière version)

https://www.data.gouv.fr/datasets/quartiers-prioritaires-de-la-politique-de-la-ville-qpv


- **Fichier** : `public/qp-politiques-ville.geojson`
- **Source** : [data.gouv.fr](https://www.data.gouv.fr/fr/datasets/r/942d4ee8-8142-4556-8ea1-335537ce1119)
- **Configuration** : `.github/workflows/update-qpv-data.yml`
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je pense que c'est pas le truc à faire avec un repo Git, ça va rendre très difficile les pulls

Je ne dis absolument pas que c'est ce qu'il faut mettre ça en place, mais regarde les motivations derrière ce projet : https://git-lfs.com/

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pour les pull on peut mettre le fichier dans le gitignore en effet.
Mais à part ce soucis j'ai déjà vu des projets faire des trucs similaires ça me choc pas particulièrement

- name: Download QPV GeoJSON file
run: |
echo "Téléchargement du fichier QPV depuis data.gouv.fr..."
curl -L "https://www.data.gouv.fr/fr/datasets/r/942d4ee8-8142-4556-8ea1-335537ce1119" \
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cet UUID (942d4ee8-8142-4556-8ea1-335537ce1119) correspond exclusivement au jeu de données suivant :

Perimètre des quartiers prioritaires de la politique de la ville 2024 (format geojson)

Ce fichier peut bouger ? J'ai l'impression que ça correspond exclusivement à l'année 2024

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.

2 participants