# Launcher 3.3.0
LAUNCHER - NOTES DE MISE À JOUR
Mode maintenance - Mise à jour du 10 novembre 2026
==================================================================

Nouvelle page « Maintenance » dans le menu d'administration : un bouton met tous les launchers en mode maintenance. Le launcher passe au rouge / orange, affiche « Maintenance en cours, merci de revenir plus tard » au centre et bloque tout, sauf la désinstallation des jeux et le menu d'administration.

Le serveur est à redéployer et un bloc nginx est à ajouter ; le trousseau est à re-signer après la diffusion de cette version.


------------------------------------------------------------------
EN BREF
------------------------------------------------------------------
- NOUVEAU : page « Maintenance » (activer, modifier le message,
  terminer), permission maintenance.manage.
- NOUVEAU : launcher en rouge / orange, carte « Maintenance en
  cours » au centre, bouton « MAINTENANCE ».
- NOUVEAU : tout bloqué chez les joueurs, sauf la désinstallation
  des jeux et le menu d'administration.
- AMÉLIORÉ : bandeau au tableau de bord, ligne dans la page
  « Signature », catégorie dans le journal d'audit.
- SÉCURITÉ : mode maintenance signé (autorisation « mode
  maintenance » du trousseau) et vérifié par les launchers.
- SERVEUR : à redéployer ; bloc nginx maintenance.json à ajouter.
- QUALITÉ : 11 nouveaux tests automatisés (367 au total).


------------------------------------------------------------------
PAGE « MAINTENANCE »
------------------------------------------------------------------
- État publié : en cours depuis quand, par qui ; ou terminée.
- Message facultatif pour les joueurs : 300 caractères, 6 lignes,
  texte brut, aucun lien ; compteur, contrôle en direct, aperçu.
- « Activer la maintenance » : confirmation détaillée.
- « Modifier le message » : même heure de début.
- « Terminer la maintenance » : confirmation.
- Le launcher de l'administrateur bascule aussitôt.
- Tableau de bord : bandeau « Maintenance en cours » pour tous les
  administrateurs.


------------------------------------------------------------------
CHEZ LES JOUEURS
------------------------------------------------------------------
- Couleurs rouge / orange, carte au centre avec le message et
  l'heure de début, fondu au début et à la fin.
- Bloqués : installation, mises à jour (automatiques comprises),
  vérification, réparation, localisation, lancement (raccourcis
  compris), paramètres, bouton « Aide », site officiel.
- Toujours possibles : désinstallation, menu d'administration.
- Non interrompus : téléchargement commencé, partie en cours, mise
  à jour du launcher lui-même.
- Lu au démarrage avant la recherche des mises à jour, puis toutes
  les 2 minutes (1 minute pendant une maintenance).
- Hors ligne au démarrage : pas de maintenance (le jeu installé
  reste jouable).


------------------------------------------------------------------
SÉCURITÉ
------------------------------------------------------------------
- Publication : permission maintenance.manage, requête signée et
  document signé par la clé de la session, audit.
- Launchers : signature vérifiée selon contentSigning ; document
  non signé, mal signé ou plus ancien que le dernier vu ignoré en
  « require ».
- Aucun lien accepté dans le message ; titre fixe dans le code.
- Affichage pour les joueurs, pas une barrière de sécurité : les
  serveurs du jeu restent seuls juges des connexions.


------------------------------------------------------------------
SERVEUR
------------------------------------------------------------------
- À redéployer : server/deploy/LISEZMOI.md, étapes 8 et 3 decies.
- nginx : bloc location = /catalog/maintenance.json
  (server/deploy/nginx-catalog.conf).
- Aucun réglage à ajouter : fichier écrit à côté du trousseau.
- Ordre : serveur et nginx, launcher 3.3.0, puis trousseau re-signé
  avec l'autorisation « mode maintenance ».


------------------------------------------------------------------
DÉVELOPPEMENT
------------------------------------------------------------------
- Contrats : MaintenanceDocument, MaintenanceRules,
  ContentKinds.Maintenance, SigningScopes.Maintenance,
  AdminPermissions.MaintenanceManage, ApiRoutes.Maintenance.
- Serveur : module Maintenance, MaintenanceStore.
- Launcher : MaintenanceService (Core), Themes/Maintenance.xaml,
  GameViewModel.IsMaintenance, LauncherViewModel.ApplyMaintenance.
- Menu : MaintenanceAdminModule, MaintenancePanelViewModel.
- Outil ui-snapshot : scènes main-maintenance, main-maintenance-
  plain, admin-page-maintenance, admin-page-maintenance-edit.
- Documentation : docs/ADMIN-ARCHITECTURE.md (§ 11 septies).


La sécurité des mises à jour du launcher ne change pas : la signature numérique et l'empreinte SHA-256 de chaque nouvelle version sont vérifiées avant toute installation.
