Skip to content

Tech: Ajout d'un mode de maintenance - #6311

Merged
tonial merged 1 commit into
masterfrom
alaurent/maintenance_page
Jun 12, 2025
Merged

Tech: Ajout d'un mode de maintenance#6311
tonial merged 1 commit into
masterfrom
alaurent/maintenance_page

Conversation

@tonial

@tonial tonial commented Jun 11, 2025

Copy link
Copy Markdown
Contributor

🤔 Pourquoi ?

Pour permettre de facilement faire des petites coupures de service pour certains déploiements

  • Finir de nettoyer le template (retirer les boutons de login/signup, recherche, etc)
    image
  • Ajouter les tests
  • Peut être permettre l'affichage d'un message personnalisé (utile dans le cadre d'une maintenance plus longue et programmée) ?

🍰 Comment ?

Décrivez en quelques mots la solution retenue et mise en oeuvre, les difficultés ou problèmes rencontrés. Attirez l'attention sur les décisions d'architecture ou de conception importantes.

🚨 À vérifier

  • Mettre à jour le CHANGELOG_breaking_changes.md ?
  • Ajouter l'étiquette « Bug » ?

🏝️ Comment tester ?

Les instructions pour reproduire le problème, les profils de test, le parcours spécifique à utiliser, etc. Si vous disposez d'une recette jetable, mettre l'URL pour tester dans cette partie.

💻 Captures d'écran

@tonial tonial self-assigned this Jun 11, 2025
@tonial tonial added the modifié Modifié dans le changelog. label Jun 11, 2025
@tonial tonial changed the title Tech: Ajout d'un mode de maintenance. Tech: Ajout d'un mode de maintenance Jun 11, 2025
@tonial
tonial force-pushed the alaurent/maintenance_page branch from bdd5df2 to 87b28d2 Compare June 11, 2025 05:35

@rsebille rsebille left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Et est-ce qu'en mode maintenant on ne voudrais pas rediriger vers une URL ou vue spécifique ?
Principalement pour ne pas foutre la merde dans tout ce qui est suivi par URL (APDEX, sentry, datadog, matomo, etc)

Comment thread config/settings/base.py Outdated
Comment thread itou/templates/static/maintenance.html Outdated
Comment thread itou/www/middleware.py Outdated
@tonial

tonial commented Jun 11, 2025

Copy link
Copy Markdown
Contributor Author

Notons que si la DB est en carafe on risque d'avoir du mal à déployer pour à cause du public_health_check
Peut être qu'il faudrait renvoyer systématiquement OK dans le cas où MAINTENANCE_MODE est vrai ?

@tonial
tonial force-pushed the alaurent/maintenance_page branch 2 times, most recently from 7fe6b1a to e705223 Compare June 11, 2025 15:56
@tonial
tonial marked this pull request as ready for review June 11, 2025 15:56
@tonial
tonial requested a review from hellodeloo June 11, 2025 15:57
@tonial

tonial commented Jun 11, 2025

Copy link
Copy Markdown
Contributor Author

@hellodeloo si tu veux modifier un peu le template de maintenance, n'hésites pas

@hellodeloo

hellodeloo commented Jun 11, 2025

Copy link
Copy Markdown
Contributor

@hellodeloo si tu veux modifier un peu le template de maintenance, n'hésites pas

@tonial Yes, je ferais un petit commit UI demain

Par contre, on avait ça avant. C'est plus utile ? Dans ce cas, il faudrait peut être archiver le repo ?

@tonial

tonial commented Jun 11, 2025

Copy link
Copy Markdown
Contributor Author

Merci !!

L'ancien repo c'était dans le cas où clever est en carafe, donc c'est encore pertinent.
Ici le but c'est de pouvoir "éteindre" le service le temps d'une migration de base de donnée (donc limité aux emplois)

@hellodeloo

Copy link
Copy Markdown
Contributor

Merci !!

L'ancien repo c'était dans le cas où clever est en carafe, donc c'est encore pertinent. Ici le but c'est de pouvoir "éteindre" le service le temps d'une migration de base de donnée (donc limité aux emplois)

Dak 👍
Question, si tu charges quand même django. Pourquoi pas simplement décliner un des templates 404/500 ? (parcque je vais faire un truc dans le genre du coup)

@tonial

tonial commented Jun 11, 2025

Copy link
Copy Markdown
Contributor Author

Le truc c'est qu'une partie des éléments du site ne marcheront pas.
Aucun lien interne ne va marcher donc je voulais éviter d'afficher "Rechercher un emplois / prescripteur" 'se connecter" etc
Mais c'est vrai que ça complique le template 🤔

@tonial
tonial force-pushed the alaurent/maintenance_page branch 2 times, most recently from e79be03 to 50793ae Compare June 12, 2025 04:33
Enabled by adding MAINTENANCE_MODE=True in env

TODO:
- finish cleaning the template
- add tests
- maybe allow to display a custom description in the mainenance template
(
@tonial
tonial force-pushed the alaurent/maintenance_page branch from 50793ae to 6dbeb67 Compare June 12, 2025 07:36
@tonial

tonial commented Jun 12, 2025

Copy link
Copy Markdown
Contributor Author

@hellodeloo j'ai repris le template 400 pour que ce soit plus simple.
Les liens ne marcheront pas, mais en même temps on écrit que le site est en maintenance, donc l'utilisateur qui essaye n'a qu'à lire ce qu'il y a sur la page

@hellodeloo

hellodeloo commented Jun 12, 2025

Copy link
Copy Markdown
Contributor

@hellodeloo j'ai repris le template 400 pour que ce soit plus simple. Les liens ne marcheront pas, mais en même temps on écrit que le site est en maintenance, donc l'utilisateur qui essaye n'a qu'à lire ce qu'il y a sur la page

Oui, je pense aussi que ça le fait comme ça et que c'est plus "propre" niveau template 👍
Si l'utilisateur clique sur un lien, il va être redirigé vers cette même page ? Il devrait donc vite comprendre les liens ne fonctionnent pas

@rsebille rsebille left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Le truc c'est qu'une partie des éléments du site ne marcheront pas. Aucun lien interne ne va marcher donc je voulais éviter d'afficher "Rechercher un emplois / prescripteur" 'se connecter" etc Mais c'est vrai que ça complique le template 🤔

De toute manière tout les liens renverrons la page de maintenance, donc ils peuvent bien cliquer ça changera pas grand chose :).


Bien vu pour la JsonResponse() 👍

@tonial
tonial added this pull request to the merge queue Jun 12, 2025
Merged via the queue into master with commit 5ec1150 Jun 12, 2025
@tonial
tonial deleted the alaurent/maintenance_page branch June 12, 2025 08:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

modifié Modifié dans le changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants