>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
TypeScript

Colota transforme Android en traceur GPS privé pour votre propre serveur

Colota Banner

Lorsque Google a annoncé la fermeture de la version web de Timeline et la migration forcée de tout l'historique de localisation exclusivement dans l'application mobile, beaucoup ont commencé à chercher des alternatives. Stocker des années d'historique de voyages dans une base de données propriétaire sur votre téléphone sans accès correct au navigateur est un plaisir douteux.

Configurer Traccar, OwnTracks ou Dawarich sur un serveur domestique est simple—les conteneurs se déploient en quelques minutes. Le véritable défi apparaît lors du choix d'un client mobile. La plupart des solutions Android existantes semblent abandonnées depuis l'ère Android 4.4 ou épuisent la batterie avec un polling GPS excessif.

J'ai récemment découvert Colota, qui résout ce problème exact avec un raffinement inattendu.

Ce que l'application peut faire

Colota est un client de suivi de géolocalisation Android open source (AGPL-3.0). Contrairement aux traceurs typiques, il n'est pas verrouillé à un seul service—il peut envoyer des coordonnées à OwnTracks, Dawarich, GeoPulse, Home Assistant, PhoneTrack, Traccar, ou tout backend personnalisé via l'API REST HTTP standard.

Dashboard Location History (Map) Trip Details Trips
Tableau de bord Historique sur carte Détails du trajet Liste des trajets

À l'intérieur de l'application, il n'y a pas de SDK publicitaires, de systèmes analytiques ou de télémétrie cachée. Deux variantes de build sont disponibles : celle standard avec Google Play Services et une build FOSS entièrement ouverte pour F-Droid avec les services Google complètement supprimés.

Profils de suivi automatiques

Le défi central de tout traceur en arrière-plan est la consommation de batterie. Faire un polling GPS chaque seconde videra votre téléphone avant midi, tandis qu'un polling toutes les dix minutes produit des traces angulaires et irrégulières sur la carte.

Colota aborde cela à travers des profils. Vous définissez des règles qui ajustent la fréquence de polling satellite et le filtrage de distance selon le contexte :

  • Se connecter à une autoradio ou un chargeur passe à un enregistrement haute précision ;
  • Lorsqu'il est stationnaire, l'enregistrement se met en veille pour conserver la batterie ;
  • Dépasser un seuil de vitesse augmente automatiquement la fréquence de transmission des points.

Zones de confidentialité et géofences

Si vous n'avez pas besoin de suivre les mouvements dans votre maison ou bureau, vous pouvez configurer des zones de pause. Une fois que vous entrez dans un rayon de géofence défini, l'enregistrement des coordonnées s'arrête automatiquement. Cela économise à la fois l'espace de base de données et la batterie.

Settings TrackingProfiles Authentication Dark Mode
Paramètres Profils de suivi Authentification Mode sombre

Mode autonome et cartes locales

Un serveur n'est pas requis. Colota peut fonctionner comme un enregistreur local autonome :

  • Télécharge des cartes hors ligne directement sur l'appareil ;
  • Segmente les trajets par jour avec fusion et division manuelle des traces ;
  • Exporte les données vers GPX, KML, GeoJSON et CSV selon un planning ;
  • Crée des sauvegardes chiffrées de toute la base de données localement ou selon un planning vers un dossier choisi.

Lorsque internet n'est pas disponible en itinérance ou dans des zones reculées, les points s'accumulent dans une file d'attente et se synchronisent avec le serveur par lots une fois la connectivité rétablie ou lorsque vous vous connectez au Wi-Fi domestique.

Comment le projet est structuré

Le dépôt est structuré comme un monorepo TypeScript avec React Native en dessous.

Compiler depuis les sources nécessite Node.js 24, Android SDK et JDK 17 :

git clone https://github.com/dietrichmax/colota.git
cd colota
npm ci
npm run build -w @colota/shared
cd apps/mobile/android

# Сборка под Google Play
./gradlew assembleGmsRelease

# Чистая FOSS-сборка без сервисов Google
./gradlew assembleFossRelease

En termes de sécurité, le support de TLS mutuel (mTLS) est un ajout bienvenue. Le certificat PKCS12 est stocké directement dans Android Keystore, permettant de sécuriser les endpoints serveur au niveau de la poignée de main TLS.

Cas d'utilisation pratiques

Le cas d'utilisation le plus simple est le couplage avec Home Assistant. L'application envoie des événements d'entrée et sortie de zone, met à jour les coordonnées de l'appareil device_tracker, et élimine le besoin du client domotique officiel lourd fonctionnant constamment en arrière-plan.

Une autre option est de remplacer Google Timeline par Dawarich ou Traccar, vous donnant une carte visuelle de tous les trajets au fil des ans, des cartes de chaleur des villes visitées, et la propriété complète de vos données personnelles.

La configuration du téléphone ne prend que quelques minutes : installez l'APK, accordez l'accès permanent à la localisation et désactivez l'optimisation de batterie pour l'application. Pour plusieurs appareils, la configuration se transfère via un code QR ou le schéma colota://setup.

À qui c'est destiné

Colota attire les utilisateurs soucieux de la vie privée qui gèrent leur propre homelab et qui sont frustrés par les limitations des services commerciaux. Bien que relativement nouveau, la fonctionnalité de suivi de base est déjà solide.

Une mise en garde : il n'y a pas encore de version iOS, car le projet se concentre exclusivement sur Android. Au-delà de cela, c'est un excellent exemple de ce qu'un outil auto-hébergé moderne devrait être.

Projets similaires