# Changelog ## v0.1.9 – 2026-10-25 - 🔒 **Sécurité** — Retirer l'autorisation VPN ou activer un autre VPN ne désactive plus le contrôle : la notification passe en rouge, le parent est alerté, le tunnel est remonté après 30 s si possible et l'autorisation est redemandée à l'ouverture. - 🔒 **Sécurité** — Changer à la main la date, l'heure ou le fuseau du téléphone ne contourne plus les plages horaires ni le temps d'écran : le changement est ignoré et signalé au parent. - 🔒 **Sécurité** — Mot de passe haché avec PBKDF2 ; après 3 essais ratés, attente croissante (30 s à 15 min). Les mots de passe existants restent valides. - 🔒 **Sécurité** — Effacer le journal demande le mot de passe ; les écrans protégés ne s'affichent plus un instant avant le verrou. - 🔒 **Sécurité** — Le code d'appairage ne sert qu'une fois ; réglages, appairage et journal ne sont plus inclus dans la sauvegarde Google. - 🐛 **Corrigé** — L'alerte « protection anti-désinstallation retirée » ne peut plus se perdre ; si le système refuse de relancer la surveillance, une notification invite à rouvrir l'application et le parent est prévenu. - 🐛 **Corrigé** — La liste des applications est renvoyée au parent à chaque installation ou désinstallation ; le bouton Retour de l'écran de blocage renvoie toujours à l'accueil. - 🛠️ **Modifié** — Journal plus léger (la liste n'est reconstruite que lorsque l'onglet est ouvert) et horodatage fiable. - ⚙️ **Technique** — Signature des releases via `keystore.properties` (même clé qu'avant) ; premiers tests unitaires ; README et page « À propos » alignés sur le comportement réel (la coupure cyclique tourne en permanence sur données mobiles). ## v0.1.8 – 2026-09-21 - Contrôle parental : la configuration Firebase se **saisit dans l'application** (Réglages → Contrôle parental → Configuration Firebase), en collant la chaîne « fc1:… » partagée par FamilyControl ou le bloc « firebaseConfig » de la console. Plus besoin de recompiler ni de fichier firebase.properties (qui reste possible comme valeur par défaut). - La liaison Firebase se relance automatiquement quand la configuration change. ## v0.1.7 – 2026-09-20 - Contrôle parental : si le parent supprime l'appareil depuis FamilyControl, DataControl se dissocie automatiquement (règles et envois arrêtés) et le note dans le journal. ## v0.1.6 – 2026-09-20 - Onglet Journal : le bouton « Tester le VPN » est retiré (le VPN se monte correctement). - README mis à jour (journal, contrôle parental, permissions, architecture). ## v0.1.5 – 2026-09-20 - Onglet Journal : bouton **Tester le VPN** (10 s) qui monte le tunnel quel que soit le réseau, pour savoir si le VPN peut se monter sur l'appareil ; les erreurs de démarrage du service VPN sont désormais tracées au lieu d'être silencieuses. - Journal : conservé **15 jours** (plafond de 20 000 lignes) ; l'état de l'en-tête (VPN autorisé, tunnel monté, suivi des applications) est aussi écrit dans le journal à chaque changement. - Journal : chaque application utilisée est tracée avec son verdict **réseau** (autorisé / bloqué / libre) et **lancement** (autorisé / bloqué). Nécessite le service d'accessibilité de DataControl. - Page « À propos » refondue : en-tête et sous-onglets (Fonctionnalités, Mode d'emploi, Prérequis, Sécurité, Garanties, Choix techniques, Journal, Auteur) ; le journal des versions est lu depuis le CHANGELOG embarqué. ## v0.1.4 – 2026-09-20 - Nouvel onglet **Journal** : état du VPN en direct (autorisé / tunnel monté) et historique horodaté des décisions du pare-feu (réseau détecté, mode appliqué, échec d'établissement du tunnel…), avec Copier / Partager / Effacer. - Limitation des applications (plages horaires, temps d'écran, applications interdites) : moteur et service d'accessibilité côté appareil, pilotés par FamilyControl. ## v0.1.3 – 2026-09-20 - **Correctif VPN** : le suivi du réseau ignore désormais le tunnel VPN lui-même (le pare-feu ne s'arrête plus tout seul), le trafic IPv6 est aussi filtré, un tunnel perdu est remonté automatiquement, et la notification signale « PARE-FEU INACTIF » si les données mobiles ne sont pas filtrées. - Forfait par défaut : 1 Go (1000 Mo). - Contrôle parental : appairage avec **FamilyControl** (Firebase), envoi de la batterie, de la position, de l'état du pare-feu et de l'historique de trafic ; les accès réseau par application se pilotent à distance. - Protection anti-désinstallation (administrateur d'appareil) ; sa désactivation depuis l'app demande le mot de passe. ## v0.1.2 – 2026-09-20 - Mise à jour depuis les Releases Gitea : bouton « Rechercher une mise à jour » dans l'onglet À propos (téléchargement + installation de l'APK). - Notification : le total estimé apparaît aussi dans la vue repliée. - Pronote (`com.indexeducation.pronote`) est dans la liste blanche par défaut (données mobiles et Wi-Fi). - Réinitialisation unique du mot de passe de verrouillage au prochain lancement. ## v0.1.1 – 2026-08-30 - `make publish`/`make deploy` : publie l'APK signé comme asset d'une Release Gitea (tag + notes extraites du CHANGELOG), sur le même modèle que les autres apps Android du même auteur. - Ménage : l'APK n'est plus commité directement sur `main` (était committé à répétition sous le même nom `DataControl-0.1.0.apk`, gonflant l'historique inutilement) ; historique Git réécrit pour retirer ces copies passées. ## v0.1.0 – 2026-07-02 Première version. - Pare-feu local basé sur `VpnService` (sans root), actif uniquement sur données mobiles — le Wi-Fi n'est jamais filtré. - Liste blanche d'applications autorisées à accéder aux données mobiles, active en permanence. - Coupure totale cyclique (toutes les X minutes, paramétrable) une fois le forfait dépassé. - Réglages du forfait : volume (Mo), prix du forfait, prix par Mo hors-forfait, date de début. - Réinitialisation automatique mensuelle du compteur + réinitialisation manuelle. - Estimation du coût total en temps réel (forfait + hors-forfait). - Notification permanente avec code couleur d'état et rafraîchissement automatique. - Redémarrage automatique de la surveillance après reboot de l'appareil. - Interface Material 3 (thème clair/sombre, couleurs dynamiques Android 12+).