-
Notifications
You must be signed in to change notification settings - Fork 45
Permettre d’installer un site dans un sous-répertoire plutôt qu'à la racine #347
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
Permettre d’installer un site dans un sous-répertoire plutôt qu'à la racine #347
Conversation
Bonjour, |
…-et-ajouter-use_whitenoise Add SITE_BASE_PATH and optional WhiteNoise
…ter-use_whitenoise
…-et-ajouter-use_whitenoise Add SITE_BASE_PATH alias for FORCE_SCRIPT_NAME
Salut , |
Merci ! Je vais tester ça dès que possible |
…es-faciles into dynamic-index-redirect
Edit : c'est corrigé. |
… test locally and document it
Finalement, j'ai remis J'ai également fait pas mal de corrections au code et ajouté la documentation ainsi qu'un moyen de tester. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ça me semble ok mais pas testé en local du coup !
🎯 Objectif
Permettre à l'application Django de fonctionner correctement lorsqu’elle est servie derrière un reverse proxy avec un chemin personnalisé (
/nomdusite
) grâce à la variableFORCE_SCRIPT_NAME
.Il s'agit ici d'un bugfix + amélioration de compatibilité, qui permet d’avoir une redirection propre vers la racine, quel que soit le sous-répertoire utilisé par l'ingress Kubernetes.
🔍 Implémentation
Ajout de la variable
FORCE_SCRIPT_NAME
danssettings.py
, récupérée depuis l’environnementUtilisation de
FORCE_SCRIPT_NAME
pour ajuster dynamiquement :STATIC_URL
,MEDIA_URL
LOGIN_URL
,LOGOUT_URL
(ND Sylvain : pas besoin de le faire, sinon le préfixe est doublé dans le lien. Ajout de la possibilité de définirWAGTAILADMIN_BASE_URL
,WAGTAILAPI_BASE_URL
WAGTAILADMIN_BASE_URL
manuellement cela dit)Mise à jour des templates suivants pour intégrer cette logique :
templates/404.html
templates/500.html
templates/blocks/footer.html
templates/blocks/header.html
Utilisation de
{% settings_value 'FORCE_SCRIPT_NAME' %}
dans les liens de navigation (ex : bouton "Retour à l’accueil")ND Sylvain : ajustements supplémentaires :
ONBOARDING.md
SF_PROD_SERVE_STATIC
pour permettre de servir les fichiers statiques en production.CSRF_TRUSTED_ORIGINS
manuellementDSFR_USE_INTEGRITY_CHECKSUMS
pour retirer les checksums d’intégritésocial_media
dans quelques pages où il manquaitutility.min.css
dans deux pages où il était appelé en doubleFORCE_SCRIPT_NAME
doit être définie dans le déploiement (ex :/monsite
)