-
Notifications
You must be signed in to change notification settings - Fork 0
User fr Privacy Profiles Sync

Sparkilo est privacy-first. Concrètement :
- Pas de Google Play Services. Pas de Firebase. Pas de Google Analytics.
-
Pas de SDK de pistage tiers. Vérifiez
pubspec.yamldans le code source — zéro dépendance d'analyse. - Aucun compte requis. L'application fonctionne entièrement sans inscription.
- Pas de collecte de données. Rien ne quitte votre téléphone tant que vous n'activez pas explicitement la synchronisation ou que vous ne touchez pas « Signaler un problème ».
- Consentement RGPD au premier lancement. Un écran dédié explique chaque permission avant que l'application ne poursuive.
- Open source. Licence MIT. Vérifiez vous-même la promesse de confidentialité.
Tout ce qu'utilise l'application est stocké localement dans des bases Hive chiffrées :
| Box | Contenu | Chiffrée ? |
|---|---|---|
settings |
Configuration de l'app, pays, langue, unités | Oui (AES) |
profiles |
Vos profils de recherche | Oui |
favorites |
Stations sauvegardées + leurs données | Oui |
cache |
Réponses d'API en cache, itinéraires | Oui |
priceHistory |
Enregistrements de prix locaux sur 30 jours | Oui |
alerts |
Vos règles d'alerte de prix | Oui |
obd2Baselines |
Références de consommation par véhicule | Non (non-PII) |
obd2TripHistory |
Journaux de trajets OBD2 + GPS | Non (non-PII) |
Les clés API (Allemagne, OpenChargeMap, Supabase) sont stockées dans l'Android Keystore (à base matérielle) sur Android ou dans le Keychain iOS, pas dans Hive.
| Permission | Pourquoi | Puis-je refuser ? |
|---|---|---|
| Localisation (pendant l'utilisation) | Recherche à proximité, début d'itinéraire, enregistrement de trajet | Oui — utilisez un code postal à la place |
| Bluetooth Scan + Connect | Appairage d'adaptateur OBD2 | Oui — l'OBD2 est optionnel |
| Notifications | Alertes de prix | Oui — les alertes ne se déclencheront pas |
| Appareil photo | Scan OCR de l'afficheur de pompe | Oui — saisissez manuellement |
| Internet | Appels API pour les prix | Requis |
L'application ne demande jamais la localisation en arrière-plan.
Un profil est un ensemble de préférences : pays, type de carburant par défaut, rayon, écran d'arrivée, unités, équipements préférés, véhicule, rayon d'approche. Utilisez les profils si vous changez souvent de contexte :
- « Maison » — Allemagne, E10, rayon 10 km, favoris comme écran d'arrivée
- « Trajet domicile-travail » — France, Diesel, rayon 25 km, le moins cher comme écran d'arrivée
- « Vacances » — Espagne, E10, carte en écran d'arrivée, filtre Apple Pay activé
Changez de profil depuis Paramètres → Profils ou via la pastille de profil en haut à droite.
Vous avez toujours au moins un profil — l'application en crée un par défaut au premier lancement.
Les profils portent également les préférences d'overlay d'approche (rayon en km + la plus proche vs la moins chère dans le rayon). Voir Consommation et OBD2 → Overlay d'approche.
Paramètres → Tableau de bord de confidentialité est le seul endroit où vous voyez tout ce que l'application contient à votre sujet, et où vivent les surfaces de diagnostic.
Le bouton de journal d'erreurs est intitulé Enregistrer (il s'appelait autrefois « Copier »). Lorsqu'on le touche, l'application écrit les traces d'erreur récentes — assainies, sans PII, sans GPS, sans clés API — dans un seul fichier de votre dossier public Downloads via la feuille système de partage / d'enregistrement. De là, vous pouvez l'attacher à une issue GitHub pour signaler un bug.
Un repli sur le presse-papiers est utilisé sur les plateformes où l'enregistrement échoue, pour que l'action ne reste jamais silencieusement sans effet.
Un bouton intitulé Tester l'overlay d'approche injecte un état synthétique « dans le rayon » pendant 30 secondes. Si un trajet s'enregistre (ou si vous en lancez un), la tuile PiP bascule sur la disposition prix pour cette station de test, vous permet de vérifier qu'elle s'affiche, puis se réinitialise automatiquement.
Utilisez ceci pour confirmer que l'overlay d'approche fonctionne sur votre appareil — pas besoin de passer réellement devant une vraie station pour le tester.
Au-delà du bouton Enregistrer, tous les exports de données (sauvegarde JSON complète, CSV d'historique des prix, GPX de trajets) écrivent désormais dans le dossier public Downloads pour que n'importe quel gestionnaire de fichiers puisse les récupérer. Le snackbar à l'écran confirme l'enregistrement et affiche le nom du fichier.
TankSync est un backend Supabase optionnel qui reflète certaines données entre vos appareils. C'est opt-in. Désactivé = rien ne quitte votre téléphone. Toute l'interface est traduite dans les 23 locales prises en charge.
- Instance communautaire — un projet Supabase partagé maintenu par la communauté. Auth anonyme. Mise en place simple.
- Auto-hébergé — déployez votre propre instance Supabase (le schéma SQL + les Edge Functions sont dans le dépôt). Vous conservez la pleine propriété des données et il n'y a plus aucun tiers.
Paramètres → TankSync → Activer. Ensuite :
- Communautaire : scannez le QR code du wiki ou collez manuellement l'URL + la clé anon.
- Auto-hébergé : collez votre URL de projet + clé anon.
La clé anon est stockée dans l'Android Keystore.
- Favoris (stations)
- Alertes de prix
- Stations ignorées
- Notes (avec drapeau de confidentialité par note : local / privé-synchronisé / partagé publiquement)
- Trajets — trajets OBD2 + GPS. La synchronisation des trajets est opt-in même après l'activation de TankSync — activez l'interrupteur dans Paramètres → TankSync → Synchroniser les trajets si vous souhaitez les refléter. Désactivé par défaut ; si vous l'activez plus tard, seuls les futurs trajets sont synchronisés tant que vous ne touchez pas Rattraper.
Le local l'emporte toujours. Si vous modifiez un favori sur deux téléphones simultanément, la dernière écriture sur chaque téléphone est canonique pour ce téléphone-là. La synchronisation ajoute / modifie mais ne supprime jamais silencieusement — seule votre action de suppression explicite déclenche une suppression côté serveur.
Paramètres → Données :
- Exporter toutes les données → un seul JSON enregistré dans Downloads
- Exporter l'historique des prix → CSV enregistré dans Downloads
- Réinitialiser l'application → efface toutes les box locales et vide le stockage sécurisé. Irréversible.
Comme aucune donnée personnelle ne quitte l'application par défaut, le droit à l'effacement RGPD est satisfait en désinstallant ou via Réinitialiser l'application. Si vous utilisez TankSync, allez dans Paramètres → TankSync → Supprimer le compte pour effacer vos données côté serveur avant la désinstallation. Il existe aussi une action Oublier tous les trajets synchronisés qui efface uniquement les lignes de trajets en laissant le reste intact.
Voir PRIVACY.md pour la politique de confidentialité complète.
Voir aussi : Premiers pas (consentement RGPD au premier lancement) · Consommation et OBD2 (overlay d'approche) Suivant : Dépannage et FAQ →
👤 User Guide
🛠️ Developer Guide
Architecture
Code patterns
Quality
Deep dives
Reference
Workflow