# Changelog ## [v1.0.3] - 2026-08-27 (Branche `design/newdefault`) ### 🎨 Refonte UI/UX "Tactical & Precision" - **Système de Thèmes & Couleurs d'Accentuation Personnalisables** : Choix dynamique de la couleur d'accent dans les Paramètres parmi 7 déclinaisons tactiques (Bleu Cobalt, Rouge Cible, Vert Viseur, Orange Ambre, Violet Cyber, Cyan Néon, Or Compétition) avec persistance SharedPreferences. - **Nouvelle Direction Artistique & Thèmes** : Thème sombre Gunmetal/Slate contrasté pour stand de tir et thème clair technique épuré avec effets Glassmorphism et flous d'arrière-plan. - **Barre de Navigation Principale** : Intégration de la `NavigationBar` Material 3 avec indicateur pill moderne et icônes thématiques. - **Dashboard d'Accueil** : En-tête dynamique "BULLY • PRÉCISION", carte interactive de session en cours (badge lumineux, reprise rapide / fin sécurisée), tuiles télémétriques de KPIs avec graphique d'évolution et accès direct aux dernières séances. - **Armurerie (Arsenal)** : Fiches d'armes techniques avec mise en valeur du calibre, compteurs de chargeurs/coups, puces d'accessoires et **icônes vectorielles dédiées pour chaque type d'arme** (Arme de Poing, Arme d'Épaule, Fusil à Pompe, Airsoft/Airgun). - **Carnet de Tir (Historique)** : Filtres par puces de type de cible et de date, cartes de séances avec pastilles de score colorées selon la précision. - **Setup de Session** : Sélecteurs rapides de distance (10m à 200m) et de coups par cible (3 à 30). - **Réseau & Export Serveur IA (Fix APK Mobile)** : Ajout des permissions `INTERNET` et `ACCESS_NETWORK_STATE` ainsi que `usesCleartextTraffic` dans le manifeste Android principal (`AndroidManifest.xml`) pour débloquer l'envoi vers le serveur IA et les IP locales depuis l'APK installée. ## [v0.0.7] - 2026-08-26 ### 🚀 CI/CD & Déploiement Automatique (Gitea Actions) - **Pipeline de Release Android APK** : Compilation automatique de l'APK de production (`flutter build apk --release`) lors du push d'un tag (`v*`) et publication directe dans les Releases Gitea. - **Mise en cache persistante** : Sauvegarde des caches Gradle, Pub, Android NDK 28, CMake et SDK Platform pour des temps de build réduits à 1-2 minutes. - **Pipeline Backendia** : Déploiement continu automatisé du serveur backend et du dashboard lors des modifications sur `main`. ### 🧠 Backend IA & Dashboard Web (Backendia) - **Architecture Tout-en-un** : API Express et Dashboard Next.js co-hébergés sur le même port sous `https://backendia.kevlar.cloud`. - **Validation OpenCV** : Certification et détection des anneaux de cibles concentriques. - **Journalisation & Modération** : Base SQLite avec historique complet des uploads, détection d'appareils, métadonnées et système de bannissement/débannissement de wallets. - **Dashboard Web** : Galerie de visualisation des photos de tir, éditeur de points/impacts et export global des datasets (ZIP / CSV). ### 🔒 Sécurité & Reverse Proxy (YunoHost) - **Dashboard Privé** : Accès à l'interface d'administration protégé par le portail SSO YunoHost. - **API d'Upload Sécurisée** : Filtrage Nginx par en-tête secret `X-API-KEY` autorisant uniquement l'application Android. ### 📱 Application Mobile Flutter - **Connexion Serveur Officiel** : Configuration par défaut sur `https://backendia.kevlar.cloud` avec transmission automatique de la clé d'API. - **Identité Anonyme & Stats** : Phrase de récupération de 15 mots, hachage SHA-256 du wallet et synchronisation du statut de modération. - **Expérience de Tir** : Nouveau flux de calibration, boutons de rotation fine, guidage au premier impact et popup de fin de session avec export IA intégré. - **Sauvegarde & Partage** : Export/Import JSON complet des sessions, statistiques et armurerie. ## [v0.0.1] - 2026-01-29 ### Ajouté - **Interface d'Analyse** : - Implémentation d'un bouton de sauvegarde "Morphing" : le bouton flottant se transforme en un bouton large en bas de page lors du défilement. - Ajout de la gestion du défilement et de l'espacement pour une meilleure ergonomie. - Visualisation des impacts et statistiques de groupement. - **Support Desktop (Windows)** : - Configuration de la base de données SQLite pour fonctionner sur Windows via `sqflite_common_ffi`. - Initialisation conditionnelle selon la plateforme. ### Corrigé - **Crash Windows** : Résolution du plantage dû à l'initialisation manquante de la factory de base de données FFI. - **Dépendances** : Fixation de la version de `sqflite_common_ffi` à `2.3.3` pour contourner un problème de cache/corruption avec la version `2.4.0+2`. - **UI/UX** : - Correction des débordements de texte ("zebra stripes") dans le bouton de sauvegarde lors de l'animation grâce à `FittedBox`. - Optimisation de l'affichage du titre "Groupement" dans les statistiques pour éviter les dépassements sur petits écrans. - Nettoyage des appels redondants (`super.initState`) et correction de la structure des widgets (`Stack` mal fermé). ### Historique des Commits - `db7160b` - +désactivation (2026-01-29) - `f1a8eef` - ajout correctif (2026-01-28) - `031d4a4` - premier app version beta (2026-01-18)