• v3.2.1 7bc229de53

    nicolas released this 2026-11-10 10:04:55 +01:00 | 41 commits to master since this release

    🖥️ Launcher 3.2.1 — Signature des formulaires des demandes dans la page « Signature »

    La page « Signature » affiche désormais l'état de signature des formulaires des demandes (feedback-forms.json), sous les versions en ligne et le catalogue : formulaires d'origine, signés et valides, ou refusés par les launchers avec la raison et le remède.

    Les formulaires publiés depuis la 3.2.0 sont ainsi contrôlés au même endroit que le reste du contenu signé, y compris avant de re-signer le trousseau. Serveur à redéployer (voir Mise à niveau) ; aucun bloc nginx à ajouter.

    ✨ En bref

    Changement
    🔧 Amélioré Page « Signature » : ligne « Formulaires des demandes » dans « Contenu en ligne », sous les versions en ligne et le catalogue
    🔧 Amélioré Vérification avec le trousseau publié (accepté ou refusé par les joueurs, et pourquoi) et avec le trousseau proposé (clé qui ne sera plus dans le trousseau)
    🛡️ Sécurité Export de la demande de trousseau : les formulaires qui deviendraient invalides sont rappelés, comme les versions et le catalogue
    🖧 Serveur À redéployer ; aucun bloc nginx à ajouter
    🧰 Outils tools\ui-snapshot.bat : la scène admin-page-signing montre les formulaires des demandes
    🧪 Qualité 1 nouveau test automatisé (356 au total)

    🔏 Page « Signature »

    La liste « Contenu en ligne » affiche, dans cet ordre : les versions en ligne de chaque jeu, le catalogue, puis les formulaires des demandes.

    État Affichage
    Formulaires d'origine « Formulaires des demandes » · « Formulaires d'origine, intégrés au launcher : rien à signer tant que rien n'est publié. »
    Signés, clé autorisée « Formulaires des demandes (révision n) » · « Signé par … : valide pour les launchers. »
    Refusés par les launchers Raison (clé absente du trousseau, autorisation « formulaires » manquante…) et remède : « Republiez-les depuis la page « Formulaires des demandes » (ils sont signés à chaque publication). »
    Clé retirée du trousseau proposé « Attention : sa clé ne sera plus dans le trousseau proposé. »
    Fichier illisible sur le serveur Ligne en erreur, avec la marche à suivre : restaurer depuis feedback-forms-history/, dans les données privées du serveur
    • La vérification est faite par le launcher, avec le trousseau publié, exactement comme chez les joueurs.
    • « Exporter la demande… » : si le nouveau trousseau rendait les formulaires invalides, ils figurent dans la confirmation « Contenu à signer d'abord », comme les versions et le catalogue.
    • Serveur antérieur à la 3.2.1 : la ligne n'apparaît pas ; le reste de la page est inchangé.

    🛡️ Sécurité

    Point Comportement
    Accès Inchangé : GET v1/signing exige la session et la permission admins.manage
    Contenu renvoyé Révision, condensé, signature et signataire des formulaires en vigueur : rien de secret (les formulaires sont publics)
    Fichier illisible Signalé sans bloquer la page ; le détail est écrit dans le journal du serveur seulement
    Vérification Faite par le launcher de l'administrateur avec le trousseau publié et la clé racine intégrée : le serveur ne peut pas faire afficher « valide » pour des formulaires que les joueurs refuseraient

    🧰 Outil de débogage ui-snapshot

    Scène Contenu
    admin-page-signing Contenu en ligne : versions, catalogue (révision 12), formulaires des demandes (révision 3)

    🧪 Tests

    Fichier Tests
    Admin/SigningPanelTests.cs +1 : formulaires des demandes sous le catalogue (d'origine, refusés sans l'autorisation « formulaires », valides après le nouveau trousseau)

    356 tests au vert.

    📂 Fichiers modifiés

    Contrats

    • src/GameLauncher.Contracts/Signing/SigningDtos.cs

    Serveur

    • server/GameLauncher.Server/Modules/Signing/SigningModule.cs

    Menu d'administration

    • src/GameLauncher.Modules.Admin/Signing/SigningPanelViewModel.cs

    Launcher (WPF)

    • src/GameLauncher/GameLauncher.csproj (version 3.2.1)

    Outil ui-snapshot

    • tools/UiSnapshot/Fakes/FakeApi.cs
    • tools/UiSnapshot/LISEZMOI.md

    Tests

    • tests/GameLauncher.Tests/Admin/SigningPanelTests.cs

    Documentation et notes

    • docs/ADMIN-ARCHITECTURE.md
    • tools/notes-launcher.txt

    ⬆️ Mise à niveau

    Ordre indifférent. Un launcher 3.2.1 relié à un serveur 3.2.0 n'affiche simplement pas la ligne des formulaires ; un launcher 3.2.0 relié à un serveur 3.2.1 ignore cette information.

    • Serveur (Launcher API) : à redéployer (server/deploy/LISEZMOI.md, étape 8). Aucun réglage ni bloc nginx à ajouter.
    • Administrateurs : aucune action. Après la mise à jour, vérifier dans la page « Signature » que les formulaires publiés sont valides pour les launchers ; sinon, re-signer le trousseau avec l'autorisation « formulaires des demandes » (étape 3 nonies de la 3.2.0).
    • Joueurs : mise à jour automatique, aucune action requise.

    🔏 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.

    What's Changed

    Contributors

    Full Changelog: v3.2.0...v3.2.1

    Downloads