76 Commits
Author SHA1 Message Date
herel 459344caf8 chore: bump version 1.0.5 (versionCode 6) 2026-08-31 23:11:32 +02:00
herel f8bd0996bd feat: conserver la sélection de l'accueil entre les lancements
Les steppers de l'accueil vivaient dans des remember simples : la sélection
était perdue à la fin de chaque partie et à chaque redémarrage de l'app.
Remonter l'état dans App() et le persister via un ConfigRepository
(config.json, même pattern que HistoryRepository) sauvegardé à chaque
changement et rechargé au lancement.
2026-08-31 23:11:29 +02:00
herel ef0e4e582c fix(android): épingler le keystore debug dans la config de signature
Avec XDG_CONFIG_HOME défini, AGP cherche le keystore debug dans
$XDG_CONFIG_HOME/.android au lieu de ~/.android : les builds debug
étaient signés différemment selon l'environnement et la connexion
Play Jeux échouait (DEVELOPER_ERROR) faute d'empreinte correspondante.
Pointer explicitement ~/.android/debug.keystore rend la signature debug
déterministe, quelle que soit la machine ou l'environnement.
2026-08-31 23:11:26 +02:00
herel 853541d41b fix(android): brancher les classements sur les vrais IDs Play Jeux
La console Play génère les IDs de leaderboard (format CgkI…), contrairement
à l'hypothèse de la spec : l'app demandait des boards questions_N inexistants,
d'où un chargement infini et des scores silencieusement perdus. Remplacer le
mapping par la table des vrais IDs (GameConfig.leaderboardId() devient
nullable, null = pas de board) et logguer les échecs GMS jusqu'ici avalés
par runCatching. Spec corrigée en conséquence (§6, §7).
2026-08-31 23:11:22 +02:00
herel b7c958cd5b chore: bump version 1.0.3 (versionCode 4) 2026-08-31 21:09:16 +02:00
herel 0a0d043ee9 chore: générer l'icône Play Store 512x512 plein cadre
Étend generate-icons.sh pour produire play-store-icon.png depuis
icon-square.svg (Play Store exige une icône 512x512 sans transparence).
2026-08-31 21:09:13 +02:00
herel 69647e0193 feat: câbler l'app_id Play Jeux dans le manifest Android
Ajoute la meta-data com.google.android.gms.games.APP_ID référencée depuis
res/values/games-ids.xml (app_id généré dans la Play Console) et documente
le câblage dans le README.
2026-08-31 21:09:10 +02:00
herel 27c8fb6294 update placeholders in privacy.html 2026-08-31 15:37:39 +02:00
herel 650647f791 fix: accessibilité et robustesse de la page de confidentialité 2026-08-31 15:18:07 +02:00
herel b4f450c6f8 feat: ajouter la page de politique de confidentialité bilingue 2026-08-31 15:12:27 +02:00
herel 91ae6587fa docs: plan d'implémentation de la politique de confidentialité 2026-08-31 15:08:36 +02:00
herel eacba73547 docs: spec politique de confidentialité (page web bilingue) 2026-08-31 15:06:13 +02:00
herel c4a503bfd8 docs: ajouter AGENTS.md pour les sessions OpenCode
Commandes, architecture des modules, conventions (spec/plan superpowers,
commits français) et pièges (signature release, quirk répétition clavier
CMP 1.12, icônes générées).
2026-08-31 15:04:34 +02:00
herel a673a9dc60 feat: configurer la signature release Android
Le build release lit androidApp/keystore.properties (gitigné) pour signer
l'AAB ; sans ce fichier, il échoue volontairement. La keystore servira de
clé d'upload Play : la section Publication du README documente la
procédure et la nécessité de la sauvegarder.
2026-08-31 15:04:27 +02:00
herel 7aaef28f9e docs: préciser l effet de l auto-répétition touche par touche 2026-08-31 10:11:34 +02:00
herel 4505fe85a3 docs: noter le comportement de l auto-répétition de touche (pas de KeyRepeat en CMP 1.12) 2026-08-31 10:09:00 +02:00
herel 54d4d2c54e docs: préciser le comportement positionnel des touches chiffres sur AZERTY 2026-08-31 10:08:25 +02:00
herel 94cac69e36 feat: répondre au clavier (chiffres, Entrée, Backspace) sur desktop 2026-08-31 10:01:12 +02:00
herel 75033324b9 feat: mapping des touches clavier vers les actions du pavé 2026-08-31 09:58:26 +02:00
herel 71f342349e docs: plan clavier physique sur la version desktop 2026-08-31 09:57:35 +02:00
herel b651864fad docs: spec clavier physique sur la version desktop 2026-08-31 09:56:28 +02:00
herel 691c98f862 feat: génération pondérée des questions (les grands facteurs sortent plus souvent) 2026-08-31 09:35:11 +02:00
herel b454fbd0d7 docs: plan génération pondérée des questions 2026-08-31 09:33:04 +02:00
herel 5a87562e94 docs: spec génération pondérée des questions (moins de questions faciles) 2026-08-31 09:30:44 +02:00
herel 917bf7a47f feat: icône de fenêtre desktop 2026-08-31 09:20:52 +02:00
herel aa1ed58cb2 feat: générer les icônes launcher depuis le logo (script + assets) 2026-08-31 09:20:08 +02:00
herel 48916aef2b feat: variantes svg des icônes (square, foreground, monochrome) 2026-08-31 09:18:14 +02:00
herel fd929e6c8e docs: plan icônes launcher et correction zone sûre circulaire 2026-08-31 09:18:03 +02:00
herel dd75875521 docs: spec génération des icônes launcher depuis le logo 2026-08-31 09:15:26 +02:00
herel bc89f098f0 feat: afficher le nom du joueur connecté sur l'accueil 2026-08-31 09:12:49 +02:00
herel 2cc73959c0 feat: logo vectoriel tuiles quiz fond navy 2026-08-31 09:11:33 +02:00
herel bd070ba3a4 fix: intercepter le back système pour revenir à l'accueil
Le geste back Android part du bord même de l'écran : l'OS intercepte
le geste avant le SwipeBack custom (zone de départ > 24 dp) et, sans
callback back enregistré, l'activité est envoyée en arrière-plan vers
le launcher au lieu de revenir à l'écran précédent. Enregistre un
BackHandler par écran (Historique et Résultats retournent à l'accueil,
la partie ouvre le dialogue d'abandon) et active le predictive back
dans le manifest.
2026-08-31 09:10:48 +02:00
herel b3fde748d2 docs: plan d'implémentation du logo vectoriel 2026-08-31 09:08:34 +02:00
herel 599d4c5132 chore: ignorer .superpowers (sessions de brainstorming) 2026-08-31 09:01:47 +02:00
herel 6846f2ba60 docs: spec design du logo vectoriel tuiles quiz 2026-08-31 09:01:42 +02:00
herel 639a34de5b fix: fiabilité de la soumission du score en fin de partie 2026-08-29 09:05:38 +02:00
herel 2f73d2cd15 docs: prérequis Play Console pour Play Jeux Services 2026-08-29 09:02:11 +02:00
herel 1acb39e6ad fix: dépendance fragment-ktx requise par l'Activity Result API 2026-08-29 09:02:10 +02:00
herel a86b534659 feat: implémentation Play Games Services v2 sur Android 2026-08-29 08:43:11 +02:00
herel d2c5fa0fdb docs: minSdk 24 requis par play-services-games-v2 22.0.0 2026-08-29 08:40:45 +02:00
herel fbb0371992 feat: connexion et envoi du score Play Jeux dans l'UI partagée 2026-08-29 08:32:00 +02:00
herel 5078693a5f feat: interface GamesServices injectable 2026-08-29 08:29:59 +02:00
herel 285d92b1b2 feat: score leaderboard pondéré et id de board 2026-08-29 08:28:52 +02:00
herel 2b8dd19e72 docs: plan Play Games Services Android 2026-08-29 08:27:22 +02:00
herel 8eb95bc02f docs: spec Play Games Services Android (auth + leaderboards) 2026-08-29 08:21:02 +02:00
herel 90479ae34e feat: 5 secondes par question par défaut sur l'accueil 2026-08-28 16:57:23 +02:00
herel 1e6b1e488e refactor: densité vivante, constante settle, tests de limite swipe-back 2026-08-28 16:56:00 +02:00
herel d480c1a0cd fix: ajustements suite à la vérification multi-cibles 2026-08-28 16:44:39 +02:00
herel ec31b38d72 feat: swipe-back vers l'accueil depuis les scores et l'historique 2026-08-28 16:23:52 +02:00
herel bc14056d3e feat: logique de décision du swipe-back 2026-08-28 16:14:00 +02:00