- Ajouter ADR-018 (librairies Go) dans TECHNICAL.md - Transformer Shared en menu dépliable dans mkdocs (cohérence avec autres domaines) - Corriger listes markdown (ajout lignes vides avant listes) - Corriger line breaks dans génération BDD (étapes "Et" sur nouvelles lignes) - Ajouter script fix-markdown-lists.sh pour corrections futures Impacte 86 fichiers de documentation et 164 fichiers BDD générés.
57 lines
2.0 KiB
Markdown
57 lines
2.0 KiB
Markdown
# Anonymisation automatique GPS après 24h
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
participant User as Utilisateur
|
|
participant App as Application
|
|
participant DB as Base de données (PostGIS)
|
|
participant Cron as Job Cron Quotidien
|
|
|
|
Note over User,App: Écoute de contenu avec GPS
|
|
|
|
User->>App: Écoute contenu (GPS activé)
|
|
App->>App: Capturer position GPS précise
|
|
App->>DB: INSERT position (lat, lon, anonymized: false)
|
|
Note over DB: Position précise stockée<br/>Utilisée pour recommandations
|
|
|
|
Note over DB,Cron: Moins de 24h : position précise conservée
|
|
|
|
App->>DB: SELECT positions pour recommandations
|
|
DB->>App: Positions GPS précises (< 24h)
|
|
App->>User: Recommandations hyperlocales
|
|
|
|
Note over Cron: 24h+ plus tard
|
|
|
|
Cron->>DB: SELECT positions WHERE created_at < NOW() - 24h AND anonymized = false
|
|
DB->>Cron: Liste positions à anonymiser
|
|
|
|
loop Pour chaque position
|
|
Cron->>DB: Convertir (lat, lon) → geohash précision 5 (~5km²)
|
|
Cron->>DB: UPDATE position avec geohash
|
|
Cron->>DB: Supprimer coordonnées précises
|
|
Cron->>DB: SET anonymized = true
|
|
end
|
|
|
|
Cron->>DB: Log anonymisation (nombre positions traitées)
|
|
|
|
Note over DB: Positions anonymisées utilisées pour analytics
|
|
|
|
App->>DB: SELECT positions anonymisées (analytics globales)
|
|
DB->>App: Positions geohash uniquement
|
|
App->>App: Générer heatmap trafic (~5km² précision)
|
|
|
|
Note over User: Exception : historique personnel
|
|
|
|
User->>App: Consulter "Mon historique d'écoute"
|
|
App->>DB: SELECT historique personnel utilisateur
|
|
DB->>App: Positions précises conservées (tant que compte actif)
|
|
App->>User: Trajets détaillés
|
|
```
|
|
|
|
**Légende** :
|
|
|
|
- **< 24h** : GPS précis conservé (recommandations hyperlocales)
|
|
- **> 24h** : Conversion automatique en geohash précision 5 (~5km²)
|
|
- **Exception** : Historique personnel conservé intact tant que compte actif
|
|
- **Analytics** : Uniquement positions anonymisées (geohash)
|