**Ğ1Flux v2.0.0 — “Superposition”**
> **Release du 1er avril 2026** · branche `main` · tag `v2.0.0`
> Nécessite Node 20+.
-–
Bonjour à toutes et tous,
Nous sommes heureux d’annoncer la sortie de **GéoFlux v2.0.0**, la plus grande mise à jour depuis la v1.0.0, et probablement depuis l’invention de la monnaie libre. Cette version introduit la navigation historique depuis la genèse de la Ğ1, la géolocalisation quantique relative, la prise en charge des comptes non localisés par activation quantique passive, et l’intégration des transactions par chant cantique (RFC 4871-bis).
-–
**Nouvelles fonctionnalités**
-–
**Géolocalisation quantique relative (GQR)**
Suite à plusieurs signalements d’utilisateurs affirmant que les coordonnées GPS fournies par Cesium+ étaient *“imposées par les satellites gouvernementaux”*, GéoFlux propose désormais un mode de géolocalisation alternatif basé sur la position quantique de chaque nœud dans le graphe de transactions.
Le principe : si Alice envoie régulièrement des Ğ1 à Bob, et que Bob est à Bordeaux, alors Alice est probablement à Bordeaux aussi — ou dans un état de superposition jusqu’à ce qu’on clique dessus. Précision déclarée : ±40 km. Précision observée : ±40 km dans 34% des cas, *“quelque part en France”* dans les 66% restants, ce qui reste supérieur à rien.
Activable dans **Paramètres → Confidentialité → *“Je préfère ne pas confier mes coordonnées à l’État quantique mondial”***.
Désactivé par défaut, parce que nous, personnellement, faisons confiance aux satellites.
-–
**Activation quantique passive (AQP) des comptes non localisés**
Les comptes sans profil Cesium+ représentaient **41% du graphe** et apparaissaient comme des nœuds gris sans position. C’est techniquement correct mais visuellement déprimant.
Leur position est désormais inférée par triangulation stochastique à partir de leurs cinq plus proches voisins transactionnels. L’algorithme converge en deux itérations. Quand il ne converge pas, le compte est placé à **Montpellier**, car c’est là qu’il y a le plus de membres Ğ1, et aussi parce qu’il faut bien choisir quelque chose.
Les nœuds AQP s’affichent avec un **contour pointillé** indiquant qu’ils sont *“quantiquement probables”* et non *“classiquement certains”*. La distinction philosophique est réelle. La distinction visuelle est subtile.
-–
**Transactions par chant cantique (PTCC — RFC 4871-bis)**
Le RFC 4871-bis, adopté lors du dernier HackMeet de Cluny, définit un mécanisme d’émission de transaction par modulation vocale : un chant grégorien de **trois strophes minimum**, entonné à portée Bluetooth d’un autre membre, déclenche un envoi de **1 Ğ1** signé par l’empreinte spectrale du chanteur.
GéoFlux v2.0.0 indexe et affiche ces transactions : arcs de couleur **ambre**, icône ♩. Le StatsPanel expose le *“Flux vocal agrégé (Ğ1/strophe)”*.
> **État du réseau à ce jour :** 14 transactions cantiques détectées depuis la genèse. 12 proviennent d’un seul nœud, situé à l’abbaye de Sénanque. Ce nœud n’a pas de profil Cesium+ et a été placé à **Cavaillon** par AQP, ce qui est raisonnablement juste.
Une transaction émise en mode mineur était interprétée comme un remboursement (bug #127). Résolu. Le mode mineur est désormais traité comme le mode majeur sur le plan comptable, sans préjuger de son contenu émotionnel.
-–
**Navigation historique depuis la genèse (Phase 1–3)**
- Sélecteur de **plage libre** (`from` / `to`) en remplacement du menu “derniers N jours”
- **Granularité automatique** selon la durée (jour → semaine → mois → trimestre)
- **Timeline interactive** couvrant mars 2017 → aujourd’hui, avec volumes trimestriels en arrière-plan
- Affichage en **cercles proportionnels** pour les fenêtres > 30 jours
- **Cache IndexedDB** — périodes passées mises en cache 24 h. Pour les transactions cantiques, la tonalité dominante de chaque strophe est également stockée. Cette information n’est utilisée nulle part mais semblait dommage de jeter.
La timeline révèle clairement qu’il ne s’est presque rien passé en 2020. Nous ne faisons aucun commentaire.
-–
**Corrections de bugs**
- **#88****** — Timeout systématique sur les périodes > 180 jours. Résolu par agrégation côté client.
- **#91****** — Crash mémoire Firefox 124 sur > 8 000 transactions. Résolu. Firefox 124 n’est plus supporté non plus, mais c’est une coïncidence.
- **#103****** — Le sélecteur de période ne revenait pas à sa valeur après annulation. Ce bug existait depuis la v0.9.0 ; personne ne l’avait signalé, ce qui nous en dit long sur l’utilisation du bouton Annuler.
- **#107****** — Arcs invisibles au zoom 3 sur Safari mobile. Résolu. Safari n’a pas été remercié pour sa coopération.
- **#112****** — Double `flyTo` en cas de clic rapide sur une ville. Résolu par un debounce de 200 ms. L’app ignore désormais délibérément vos clics pendant 200 ms. C’est de l’UX.
- **#124****** — Les comptes placés à Montpellier *avant* l’AQP y restaient après convergence. Résolu. Montpellier reste néanmoins le repli.
- **#127****** — Transaction cantique en mode mineur interprétée comme un remboursement. Résolu sur le plan comptable, pas sur le plan musical.
-–
**Breaking changes**
details="Voir les breaking changes"
**`useGeoFlux()`** ne retourne plus `periodDays: number` mais `period: { from: Date; to: Date; granularity: Granularity }`.
**`DataService.fetchData(periodDays)`** → **`fetchData(from: Date, to: Date)`**. L’ancienne signature lève une erreur TypeScript. TypeScript a, comme toujours, raison.
**`GeoNode`** inclut un nouveau champ `localizationMode: ‘classic’ | ‘quantum’ | ‘canticle’`. La valeur `‘canticle’` s’applique aux nœuds dont la seule source de localisation connue est une transaction cantique reçue. Il y en a deux.
**`localStorage[‘geoflux-cache’]`** est supprimé au démarrage. Les données mises en cache avant la v2.0.0 ne sont pas migrées, pour des raisons techniques tout à fait valables que nous n’exposerons pas ici.
/details
-–
**Ce qui n’est pas dans cette version**
- **Transactions par tambour chamanique** (RFC 4871-ter) — encore en draft, en relecture à Tübingen depuis dix-huit mois
- **Regroupement par pays au zoom ≤ 4** — `countryCode` vaut `null` pour 34% des nœuds, ce qui aurait fait de `“null”` le cinquième pays par volume de transactions Ğ1
- **Export CSV** — décalé en v2.1, comme en v1.9, v1.7, et v1.5
- **Mode sombre**
- **Un logo**
-–
**Statistiques**
```
Commits depuis v1.4.1 : 47
Lignes ajoutées / supprimées : 1847 / 412
Transactions cantiques (genèse) : 14
Nœuds à Montpellier avant AQP : 38
Nœuds à Montpellier après AQP : 12
Nœuds réellement à Montpellier : ? (non déterminable avec certitude)
Durée estimée : 3 semaines
Durée réelle : 11 semaines
```
6 de ces 11 semaines ont été consacrées à la GQR — fonctionnalité qui était initialement **une blague dans un ticket GitHub** et qui s’est retrouvée en production par un enchaînement d’événements que personne ne sait exactement reconstituer.
-–
*L’équipe Ğ1Flux***