• v3.4.2 b398e4059a

    nicolas released this 2026-11-10 21:02:49 +01:00 | 0 commits to master since this release

    🖥️ Launcher 3.4.2 — Journal des formulaires détaillé, nom de l'éditeur

    Journal d'audit : les publications des formulaires des demandes sont détaillées. Auparavant, une publication n'y laissait qu'une ligne « Formulaires des demandes publiés » et un résumé (« 1 champ(s) modifié(s) »…) qui ne disait ni quel champ ni ce qui avait changé. Désormais, chaque type de demande ajouté, modifié ou supprimé a sa propre ligne, avec son nom, et chaque champ ajouté, supprimé ou modifié est indiqué, avec ce qui a changé.

    Changement du nom de l'éditeur par défaut, désormais LanisysGames, repris dans les propriétés des exécutables.

    Pour les joueurs, le launcher fonctionne exactement comme en 3.4.1. La Launcher API est à mettre à jour pour obtenir le nouveau détail du journal.

    ✨ En bref

    Changement
    🆕 Nouveau Journal d'audit : une ligne par type de demande ajouté, modifié ou supprimé, avec son nom
    🆕 Nouveau Type modifié : tous ses changements, dont chaque champ ajouté, supprimé ou modifié et ce qui a changé
    🔧 Amélioré Ligne de publication : types ajoutés, modifiés et supprimés par leur nom ; un détail long est réparti sur plusieurs lignes numérotées, rien n'est tronqué
    🏷️ Éditeur Changement du nom de l'éditeur par défaut : LanisysGames (aussi dans les propriétés des exécutables)
    📸 Documentation Captures de l'interface mises à jour (changement de l'éditeur), avec une version WebP
    🖧 Serveur Launcher API à mettre à jour ; aucun réglage ni bloc nginx à ajouter
    🧪 Qualité 1 nouveau test automatisé, 3 tests complétés

    📋 Journal d'audit des formulaires des demandes

    Avant / après

    3.4.1 3.4.2
    Lignes par publication 1 (« Formulaires des demandes publiés ») 1 de publication + 1 par type de demande ajouté, modifié ou supprimé
    Type concerné Dans le résumé, par son nom Cible de la ligne : « Problème technique »
    Champs Nombre seulement (« +3 champ(s) », « 1 champ(s) modifié(s) ») Nom de chaque champ et ce qui a changé dans chacun
    Présentation du type « présentation modifiée » Nom affiché, description, exemple de titre, informations techniques : lequel, avec l'ancienne et la nouvelle valeur quand elle est courte
    Détail long Coupé à 500 caractères Plusieurs lignes numérotées (1/2, 2/2…)

    Nouvelles actions

    Action (code) Libellé du journal Cible Détail
    feedback.forms Formulaires des demandes publiés révision 5 Types ajoutés, modifiés, supprimés par leur nom ; ordre des types ; signature
    feedback.form_create Type de demande ajouté « Suggestion de niveau » Masqué ou non, icône, captures d'écran, informations techniques, chaque champ (type, obligatoire ou facultatif, nombre d'étoiles ou de choix)
    feedback.form_update Type de demande modifié « Problème technique » Tous les changements (ci-dessous)
    feedback.form_delete Type de demande supprimé « Autre » Plus proposé aux joueurs ; les demandes déjà reçues restent consultables

    Ces actions sont dans la catégorie « Demandes des joueurs » du filtre, dans la recherche et dans l'export CSV.

    Changements indiqués pour un type modifié

    Élément Exemple
    Type nom affiché : « Bug » → « Problème technique », description : « … » → « … », exemple de titre modifié, masqué (plus proposé aux joueurs), icône importée, captures d'écran retirées, « Joindre les informations techniques » décoché par défaut
    Champ ajouté / supprimé champ ajouté : « Version affichée en jeu » (texte court, facultatif), champ supprimé : « Résultat attendu »
    Champ modifié champ « Gravité du problème » modifié : libellé « Gravité » → « Gravité du problème », rendu facultatif, choix ajouté « Très grave », choix renommé « Plantage » → « Plantage du jeu »
    Réglages d'un champ Libellé, type, obligatoire / facultatif, aide (ajoutée, modifiée, retirée), longueur maximale, nombre d'étoiles, choix (ajoutés, retirés, renommés, ordre), aperçu dans la liste des demandes
    Ordre ordre des champs modifié ; ordre des types modifié (ligne de publication)

    Exemple dans la page « Journal d'audit » (du plus récent au plus ancien) :

    Formulaires des demandes publiés — révision 5 — 1 type ajouté : « Suggestion de niveau » ; 1 type modifié : « Problème technique » ; signé (clé …)
    Type de demande ajouté — « Suggestion de niveau » — icône importée ; captures d'écran non proposées ; 1 champ(s) ; champ « Message » (zone de texte, obligatoire)
    Type de demande modifié — « Problème technique » — nom affiché : « Bug » → « Problème technique » ; champ supprimé : « Résultat attendu » ; champ ajouté : « Version affichée en jeu » (texte court, facultatif)
    
    • Un type inchangé n'a pas de ligne ; une publication sans changement indique « aucun changement ».
    • Les lignes sont écrites dans l'ordre de lecture : la ligne de publication en tête, puis les types dans l'ordre publié, puis les types supprimés.

    Compatibilité

    Launcher Launcher API Résultat
    3.4.2 mise à jour Détail complet, libellés en clair
    3.4.1 ou antérieur mise à jour Détail complet ; les nouvelles actions s'affichent par leur code (feedback.form_update…)
    3.4.2 ancienne Comme avant : une ligne « Formulaires des demandes publiés » avec son résumé

    🏷️ Nom de l'éditeur

    Fichier Changement
    src/GameLauncher.Core/Models/LauncherConfig.cs Éditeur par défaut : LanisysGames
    Directory.Build.props Company, Authors et Copyright : LanisysGames (tous les projets de la solution)
    • L'éditeur par défaut ne sert que si launcher.json n'en indique pas. Le launcher.json intégré indique déjà "publisher": "LanisysGames" : le dossier %AppData%\LanisysGames, la clé HKCU\Software\LanisysGames et les paramètres des joueurs ne changent pas.
    • Directory.Build.props est commun à toute la solution : la Launcher API, le site vitrine et les outils prennent aussi le nouveau nom à leur prochain build. Aucun code ne lit ces valeurs.

    📸 Documentation

    Fichier Changement
    docs/preview.png, docs/preview-update.png Changement de l'éditeur
    docs/preview.webp, docs/preview-update.webp Nouveaux : versions WebP (qualité 85)
    docs/ADMIN-ARCHITECTURE.md Route PUT v1/feedback/forms : nouvelles lignes d'audit
    README.md Page « Formulaires des demandes » : détail du journal d'audit

    Le README.md affiche toujours les captures PNG.

    🛡️ Sécurité

    • Aucune donnée personnelle : le journal ne reçoit que les textes des formulaires (noms des types, libellés des champs et des choix), déjà publics dans feedback-forms.json. Les aides des champs et les icônes ne sont pas recopiées.
    • Écriture après la publication réussie, avec l'administrateur, l'appareil, la clé et l'adresse IP, comme les autres actions.
    • Textes nettoyés par le journal (caractères de contrôle retirés, 500 caractères au plus par champ) ; l'export CSV neutralise toujours les cellules qui ressemblent à une formule.
    • Aucun changement de la signature des formulaires, des permissions ni des routes.

    🧪 Tests

    Test Vérifie
    FeedbackFormsModuleTests.Audit_names_every_changed_field_and_spreads_long_details_over_numbered_lines Nouveau : chaque champ modifié nommé avec ce qui a changé (libellé, obligatoire, aperçu, aide, longueur, 20 choix ajoutés, choix retiré, ordre) ; lignes numérotées sous la limite ; publication sans changement
    FeedbackFormsModuleTests.Published_forms_are_signed_public_and_used_to_check_and_display_requests Complété : une ligne par type modifié, nom affiché, champs ajoutés et supprimés, étoiles, type masqué, type inchangé absent
    FeedbackFormsModuleTests.Categories_can_be_added_removed_reordered_with_imported_icons_and_without_screenshots Complété : 5 types ajoutés, 1 supprimé, détail d'un type ajouté
    FeedbackPanelTests.Feedback_audit_actions_have_friendly_labels Complété : libellés des trois nouvelles actions

    ⬆️ Mise à niveau

    1. Launcher 3.4.2 : mise à jour signée habituelle, sans --priority.
    2. Launcher API : à mettre à jour (tools\publish-server.bat, puis server/deploy/LISEZMOI.md, étape 8). Aucun réglage ni bloc nginx à ajouter.
    3. nginx, trousseau, site vitrine : aucune action. Le site affichera la 3.4.2 dès sa prochaine lecture de launcher-update.json (10 minutes au plus).
    • Administrateurs : aucune action. Les publications antérieures gardent leur ligne d'origine dans le journal.
    • Joueurs : aucune action, la mise à jour est automatique.
    • RGPD : aucune donnée personnelle concernée.

    🔏 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.4.1...v3.4.2

    Downloads