Roadmap & État du Projet

Suivez l'évolution de Nexus, la super-app de PLCORP à Gagnoa.

📅 Jalons de Développement

03 Avril 2026 — J-36

QA + Sécurité + Wizard Web (v1.2.0-btp-wizard)

completed
  • 290 tests automatisés (5 bugs backend corrigés)
  • Audit Gemini : CR-02/03/04 corrigés (Docker, MinIO, SECRET_KEY)
  • Pagination curseur Drift (immo_list)
  • Wizard web : stepper OOB HTMX + champs alignés mobile
  • Build Info embarquée dans l'APK (date · commit · branche)
  • PII masqué dans logs (#91) — SECURE_CONTENT_TYPE_NOSNIFF (#66)
02 Avril 2026 — J-29→J-35

Portail BTP Fournisseur + Recherche Globale

completed
  • Portail fournisseur BTP (HTMX CRUD catalogue + dashboard)
  • Moteur /api/search/ IMMO+BTP géospatial Redis (60ms → 8ms)
  • Material hérite Listing — migration non-destructive
  • Drift v4 : serverPhotoId (skip ré-upload à l'édition)
  • Quittances PDF unifiées TTL 600s (presigned URL MinIO)
  • APK Tailscale téléchargeable via /roadmap/
28 Mars 2026 — J-20→J-28

★ Jalon MVP IMMO (v0.9.0-mvp) ★

completed
  • IMMO CRUD sécurisé + Géo PostGIS
  • BTP FSM commandes (viewflow.fsm)
  • Wave CI Webhook HMAC-SHA256 + simulateur local
  • Sync Mobile Drift v3 (Offline-first)
  • 272 tests automatisés
  • APK arm64-v8a (28.3 Mo)
04 Avril 2026 — J-37

Wizard Critique + Auth Réseau (v1.2.1-auth-fix)

completed
  • Auth Dio timeout 10s/15s — plus de blocage login Tailscale
  • Wizard : 12 bugs critiques corrigés (photos perdues, fire-and-forget, GPS, modération)
  • PopScope Android — anti-duplication via bouton retour depuis Success
  • BasicsStep/ImmoLegalStep/ImmoCharacteristics — controllers préservés au retour
  • transaction_type par secteur, prix FCFA filtré, limite 8 photos
  • APK rebuild 04/04/2026 (28.4 Mo) — Tailscale 100.114.10.43
05 Avril 2026 — J-50

Audit 300 scénarios + Wallet + Logistique (v1.3.0)

completed
  • Audit offensif 300 scénarios — 301/301 ✅ (SEC/ARCH/UX)
  • Double-entry ledger Wallet (Account/Transaction/LedgerEntry)
  • 4ème pilier : secteur Logistique (DeliveryRequest/DriverProfile)
  • Matrice cross-sectorielle BTP→Logistique via Django signals
  • 304 tests backend ✅ — Django check : 0 issues
  • Documents stratégiques DOCX téléchargeables (/roadmap/)
11 Avril 2026 — J-51→J-52

Module AUTO complet + Escrow BTP + FCM (v1.4.1)

completed
  • Indexes composites DB (BTP/AUTO/IMMO performance)
  • Fix critique photos orphelines + catalog fournisseur 404
  • Escrow BTP : deliver() → 95% fournisseur + 5% PLCORP
  • App FCM notifications (DeviceToken + send_push_to_user)
  • Templates web AUTO complets (cards + détail JSON-LD Car SEO)
  • AutoDetailScreen mobile + navigation + carousel photos
  • 335 tests backend ✅ | APK v1.4.1 (44.6 Mo)
12 Avril 2026 — J-53→J-60

GPS Propriétaire + SEO + k6 Load Tests (v1.5.0)

completed
  • GPS propriétaire : pin précis vs cercle 150m public (Drift v5 + JWT decode)
  • SEO AUTO : JSON-LD @type Car schema.org + OG tags
  • k6 scripts de charge : 4 suites (Auth/IMMO/BTP/AUTO) 50-100 VUs
  • Fix rate limit 429 flaky — fixture clear_ratelimit_cache
  • Escrow BTP + FCM notifications : 12 tests verts
  • Wizard photos web IMMO liées à la Property
  • 338 tests backend ✅ | Tag v1.5.0
15 Avril 2026 — J-61→J-70

Stabilisation v1.6.0 — Wizard + Kanban + Wallet web

completed
  • Fix wizard mobile : isUploading stuck + setSector reset + ref.listen (3 bugs)
  • Kanban BTP redesign : KPIs, urgences, poll conditionnel, spinners corrigés
  • Wallet web : soldes + historique transactions + filtres
  • Rename app NEXUS (web + Android + iOS)
  • Nettoyage projet : archives, PLAN_DEVELOPPEMENT.md roadmap v1.6→v3.0
  • 348 tests backend ✅ | APK v1.6.0 (32.8 Mo) | Flutter analyze 0 issues
18 Avril 2026 — J-71→J-73

Wizard Option B + Pexels + Alignement Mobile (v1.7.0)

completed
  • Mobile wizard : alignement web (état, confirmation step, auto-titre, validation)
  • Rate limiting upload 10 req/60s (fix wizard)
  • Intégration API Pexels (photos par défaut IMMO/BTP)
  • Fix tests auto_steps (fuel_type, textes)
  • B1/B2/B5 livrés ✅ — B3 Firebase + B4 Wallet Flutter en cours
  • 348 tests backend ✅ | APK v1.7.0 (32 Mo)
22 Avril 2026 — J-75

Audit Complet J-71 + Build Diagnostic (v1.8.0)

completed
  • Audit offensif complet — 83 findings (score 6.5 → 8.5)
  • Hardening : Account.save() guard + BTP deliver() guard anti-double
  • Diagnostic Communication API & Build
  • 348 tests backend ✅ | APK v1.8.0 (31.5 Mo)
23 Avril 2026 — J-76

APK Tailscale v1.8.0 — Accès hors WiFi

completed
  • Rebuild APK v1.8.0-tailscale avec API_BASE_URL=http://100.114.10.43:8000/api
  • Fix communication mobile en 4G via Tailscale (LAN-only → hybride)
  • network_security_config.xml : 192.168.1.111 + 100.114.10.43 autorisés
  • APK v1.8.0-tailscale (31.6 Mo) téléchargeable sur /roadmap/
24 Avril 2026 — J-77

Firebase FCM réel + MinIO exposé + seed photos (v1.9.0)

completed
  • Firebase FCM activé : google-services.json + firebase_options.dart + Gradle plugins
  • PushNotificationService → POST /notifications/device-token depuis HomeScreen
  • MinIO exposé 0.0.0.0:9000 (LAN + Tailscale) + endpoint URL signable
  • Seed photos Pexels : 2524 IMMO + 609 AUTO équipés (2 photos/listing)
  • Communication mobile↔backend validée : API OK, images 200 accessibles
  • APK v1.9.0-tailscale-fcm (31.6 Mo) | 348 tests backend ✅ | analyze 0 issues ✅
24 Avril 2026 — J-77 (soir)

Wallet Transfer P2P opérationnel (v1.10.0)

completed
  • Backend : POST /wallet/transfer avec WalletService.transfer() + idempotence client_ref
  • Erreurs : 400 self/solde insuffisant, 404 destinataire inconnu, 422 validation
  • 7 tests API transfer (355/355 backend verts)
  • Mobile : WalletTransferScreen (phone + montant + motif + loading/error/success)
  • Mobile : WalletRepository.transfer() + TransferResult typé + refresh balance auto
  • APK v1.10.0-wallet-transfer (31.6 Mo) | analyze 0 issues ✅ | 29 tests Flutter ✅
24 Avril 2026 — J-77 (nuit)

Refonte visuelle mobile — charte PLCORP (v1.11.0)

completed
  • Tokens alignés charte : success #28A745, error #DC3545, warning #FFC107, surfaceDark
  • google_fonts : Montserrat (titres) + Inter (corps) — remplace Roboto
  • plcorp_theme.dart : ThemeData M3 unique source de vérité (radius 4/8/full, spacers 4-64)
  • PLTopBar widget : bande identique au web (logo navy 32×32, NEXUS Montserrat, badge version, pastille connexion)
  • Appliqué : HomeScreen, AboutScreen, Wallet dashboard/transfer, Wizard (avec bottom progress)
  • APK v1.11.0 | 29 tests Flutter ✅ | analyze 0 issues ✅
25 Avril 2026 — Sprint J-78→J-80 (consolidé)

Sprint cards consistency — proxy /media/ + UI unification (v1.12.0)

completed
  • Bug carte web : tuiles OSM bloquées par CSP img-src — fix dynamique via AWS_S3_ENDPOINT_URL + *.tile.openstreetmap.org
  • Travail Gemini : Leaflet vs Tailwind preflight CSS + parseFloat replace(',','.') + invalidateSize(200ms)
  • Bug images IMMO/AUTO : seules 2 visibles → Django proxy /media/<key> same-origin (LAN + Tailscale + prod)
  • Backend : PublicMediaStorage subclass + media_proxy_view stream depuis MinIO via Docker interne
  • CurrentRequestMiddleware threadlocal → URLs absolues automatiques (web HTML + API mobile)
  • Refonte cards listings unifiée : ratio 4:3, photo count badge, specs row icônes — appliqué AUTO/IMMO/BTP web + mobile
  • AUTO list : Marque · Modèle · Année promu en heading principal (était sous-titre — recherche AutoScout24/Carvana)
  • IMMO list : surface_m2 · nb_chambres · nb_salles_de_bain depuis metadata avec icônes
25 Avril 2026 — J-79 (consolidé)

Detail pages galerie hero + thumbnails

completed
  • auto/detail.html : grid 2fr/1fr, hero photo aspect 4:3, 3 thumbnails colonne, badge nb photos glassmorph
  • immo/detail.html : même pattern (avant : seule la 1ʳᵉ photo affichée — gap comblé)
  • Surcouche +N sur dernière vignette si plus de 4 photos
  • Mobile detail screens : déjà en PageView carousel depuis J-77, pas de changement
25 Avril 2026 — J-80 (consolidé)

Build APK v1.12.0-cards-refonte + roadmap sync

completed
  • APK v1.12.0-cards-refonte build arm64 + obfuscation + tagged
  • 355 tests backend verts | flutter analyze 0 issues | django check OK
  • Roadmap web /roadmap/ + mobile about_screen synchronisés J-78→J-80
  • Memory Claude + SESSION_LOG mis à jour
J-80+ — À venir

★ JALON AUTO-LOGISTICS ★ (v2.0.0)

pending
  • B3-back : Firebase service account backend → send_push_to_user réel
  • IMMO→Logistique + AUTO→Logistique synergies cross-sectorielles
  • pgBouncer — PostgreSQL connexions pool (PERF-DB)
  • DriverProfile API + matching livraison mobile
  • Dashboard monitoring Sentry
  • Wave CI flow complet (si KYC obtenu)
  • Tag v2.0.0

📦 Historique des Builds

v2.0.7-beta.1-dynamic 🎛️ Filtres IMMO collapsibles : disparaissent au scroll, bouton flottant 'Filtres' apparaît, ouvre un panneau latéral gauche avec flèche débordante pour fermer (style web). 🏷️ AppBar uniformisée (logo + titre) sur AUTO/BTP/Logistics/Map. 🔧 Filtres BTP refondus chips uppercase. Cascade fixes : map retry réseau, wizard URLs normalisées portables LAN/Tailscale.
2026-06-22 • 49 Mo
⬇️ nexus-v2.0.7-beta.1-dynamic-arm64.apk
v2.0.6-beta.1-dynamic 🖼️ Fix affichage images IMMO (chemins relatifs portables LAN/Tailscale + migration auto). 🔔 Feedback connexion explicite : bannière permanente si serveur KO, toast vert au succès, messages d'erreur classifiés (serveur off / identifiants / rate limit).
2026-06-22 • 49 Mo
⬇️ nexus-v2.0.6-beta.1-dynamic-arm64.apk
v2.0.5-beta.1-dynamic 🏷️ Filtres IMMO : titres 'Type de bien' et 'Transaction' visibles (style pl-kpi-label web) + scroll horizontal silencieux (no-scrollbar + bouncing physics) comme la version web.
2026-06-22 • 49 Mo
⬇️ nexus-v2.0.5-beta.1-dynamic-arm64.apk
v2.0.4-beta.1-dynamic 🎨 AppBar IMMO : logo PLCORP restitué + texte 'Biens Immobiliers' côte à côte. Section recherche refondue en carte unifiée style web (chips uppercase web-style + placeholder évocateur).
2026-06-22 • 49 Mo
⬇️ nexus-v2.0.4-beta.1-dynamic-arm64.apk
v2.0.3-beta.1-dynamic 🆕 AUTO-UPDATE IN-APP — Plus besoin de venir sur cette page : l'app propose la mise à jour automatiquement. + Fix Tailscale (timeout 6s, retry auto, listener réseau) + Refonte liste IMMO (titre 'Biens Immobiliers', filtres compactés, grille 2 colonnes, images avec loader).
2026-06-22 • 49 Mo
⬇️ nexus-v2.0.3-beta.1-dynamic-arm64.apk
v2.0.2-beta.1-dynamic 🎯 UN SEUL APK — BackendResolver auto-détecte LAN (192.168.1.111) OU Tailscale (100.114.10.43) au boot, cache le winner. Marche peu importe ton réseau. Inclut tous les fixes UX Sprint Hermes.
2026-06-21 • 49 Mo
⬇️ nexus-v2.0.2-beta.1-dynamic-arm64.apk
v2.0.1-beta.2-tailscale 🛰️ Variante Tailscale uniquement — remplacée par v2.0.2 dynamic. Garde pour rollback si besoin.
2026-06-21 • 49 Mo
⬇️ nexus-v2.0.1-beta.2-tailscale-arm64.apk
v2.0.1-beta.2 🆕 Sprint UX Hermes — icône retour visible (#1b), helper mediaUrl IMMO/AUTO/BTP (#1a), BTP catalog error state (#1c), catégorie engin_terrain wizard AUTO (#2), refonte liste IMMO 3-5 cartes + ratio 16:10 (#7-9). API LAN 192.168.1.111 uniquement.
2026-06-21 • 36.5 Mo
⬇️ nexus-v2.0.1-beta.2-20260621-arm64.apk
v2.0.0-beta.1 🎯 Première APK signée beta — keystore PLCORP, Sprint 1 fixes (Wave HMAC + IDOR + Auth + Wizard) + wallet mobile complet + cohérence rate-limit
2026-06-19 • 50.3 Mo
⬇️ nexus-v2.0.0-beta.1-20260619-arm64.apk
v1.12.0-cards-refonte Sprint J-78→J-80 — proxy /media/ + cards refonte unifiée + galerie detail hero/thumbs
2026-04-25 • 31.6 Mo
⬇️ nexus-v1.12.0-20260425-cards-refonte-arm64.apk
v1.11.0-ui-refresh Refonte visuelle PLCORP — PLTopBar, Montserrat/Inter, tokens charte alignés
2026-04-24 • 31.7 Mo
⬇️ nexus-v1.11.0-20260424-ui-refresh-arm64.apk
v1.10.0-wallet-transfer Wallet transfer P2P opérationnel + tout v1.9.0 (Firebase + MinIO + Pexels)
2026-04-24 • 31.6 Mo
⬇️ nexus-v1.10.0-20260424-wallet-transfer-arm64.apk
v1.9.0-tailscale-fcm Dev Tailscale + Firebase FCM réel + MinIO exposé LAN/Tailscale + seed photos Pexels
2026-04-24 • 31.6 Mo
⬇️ nexus-v1.9.0-20260424-tailscale-fcm-arm64.apk
v1.8.0-tailscale Dev Tailscale — API 100.114.10.43 (accessible hors WiFi maison)
2026-04-23 • 31.6 Mo
⬇️ nexus-v1.8.0-20260423-tailscale-arm64.apk
v1.8.0 Diagnostic Communication API & Build
2026-04-22 • 31.5 Mo
⬇️ nexus-v1.8.0-20260422-arm64.apk
v1.7.0 Wizard Option B + Pexels API + Alignement mobile — etat, confirmation, auto-titre
2026-04-18 • 32 Mo
⬇️ nexus-v1.7.0-20260418-arm64.apk
v1.6.0 Wizard fix + Kanban + Wallet + NEXUS rename
2026-04-15 • 32.8 Mo
⬇️ nexus-v1.6.0-20260415-arm64.apk
v1.5.0-tailscale Dev Tailscale — Fix réseau 3G + Drift v5 + wallet + livraisons
2026-04-12 11:12 • 45.1 Mo
⬇️ nexus-v1.5.0-20260412-1112-tailscale-arm64.apk
v1.4.1-tailscale Dev Tailscale — Wizard photos + UX soft + 0 analyze issues
2026-04-11 23:24 • 44.6 Mo
⬇️ nexus-v1.4.1-20260411-2324-tailscale-arm64.apk
v1.4.0-tailscale Dev Tailscale — BTP Panier + Sécu + 324 tests
2026-04-09 11:12 • 44.8 Mo
⬇️ nexus-v1.4.0-20260409-1112-tailscale-arm64.apk
v1.3.0-tailscale Dev Tailscale — 18/18 tests, 0 analyze issues
2026-04-09 09:03 • 44.8 Mo
⬇️ nexus-v1.3.0-20260409-0903-tailscale-arm64.apk
v1.3.0 Dev — Wallet + Logistique + Signals
2026-04-08 20:37 • 43.9 Mo
⬇️ nexus-v1.3.0-20260408-2037-arm64.apk
v1.2.1-auth-fix Dev (Tailscale) — Auth timeout fix
2026-04-04 • 28.4 Mo
⬇️ nexus-dev-tailscale-arm64.apk
v1.2.0-btp-wizard Dev (Tailscale) — BTP Wizard
2026-04-03 • 24.4 Mo
⬇️ nexus-dev-tailscale-arm32.apk
v1.1.0-j34 Release (Drift v4)
2026-04-02 • 28.3 Mo
⬇️ nexus-v1.1.0-arm64-v8a.apk
v0.9.0-mvp Release
2026-03-28 • 28.3 Mo
⬇️ app-arm64-v8a-release.apk

📄 Rapports Techniques

Sprint J-53→J-60 — GPS Owner + SEO + k6 (v1.5.0)
2026-04-12 — Sprint J-53→J-60 : GPS propriétaire Drift v5, JSON-LD Car, k6 load tests 4 suites, 338 tests
📄 Lire le rapport
Sprint J-51→J-60 — AUTO + Escrow + FCM (v1.4.1)
2026-04-12 — Sprint J-51→J-52 : module AUTO mobile/web, escrow BTP, notifications FCM, 335 tests
📄 Lire le rapport
Directive J-50 — Wallet + Logistique + Synergies
2026-04-05 — Directive technique J-50 : double-entry ledger, secteur Logistique, matrice cross-sectorielle
⬇️ NEXUS_J50_DIRECTIVE.docx
Synthèse Stratégique Nexus v2.2
2026-04-05 — Rapport stratégique complet — super-app 4 piliers, architecture, roadmap investisseurs
⬇️ nexus_synthese_v2.2.docx
Plan de Développement Nexus v2
2026-04-05 — Plan technique détaillé — sprints, stack, jalons, livrables
⬇️ plan_nexus_v2.docx
Rapport Tests de Charge J-41
2026-04-04 — T6 — k6 100 VUs, 1000 biens Gagnoa, Redis 911 hits, bottleneck PostgreSQL max_connections
📄 Lire le rapport
Rapport Technique J-37
2026-04-04 — Sprint J-37 — auth Dio timeout, wizard 12 bugs, APK v1.2.1
📄 Lire le rapport
Rapport UI/UX Redesign J-70 — Design System PLCORP
2026-04-16 — Analyse de performance et raisonnements en cascade — refonte complète UI avec design system plcorp.css
📄 Lire le rapport

Statistiques Projet

290
Tests Verts
18
Tests Flutter
28.4
Mo APK
0
Bugs Critiques

"Nexus: La puissance de Gagnoa dans votre poche."