Aller au contenu

Historique du projet

Journal chronologique des grandes étapes LObsTer depuis le démarrage.

timeline
    title Timeline LObsTer 2026
    Q1 2026 : Démarrage plateforme
            : 5 tracks dev parallèles FAIT
            : Architecture backend + PostGIS
    Mars 2026 : Reorg data raw/ thématique
              : Réimports DVF + cadastre en cours
              : Découverte bugs batch DVF
    Avril 2026 : Session 14/04 MAJ plateforme
               : LOG-01 v6 généré Palaiseau
               : Catalogue v11 40 études en ligne
               : Landing v2 + CGV/PC + pricing
    18 avril : Red-team critique interne
             : Identifie 5 blind spots
             : Verdict STOP new features
    24 avril : Sprint 0 Wiki en cours
             : ANIL uploadé
             : Cyrille livre LOG-01 v2 et DEM-01 v3

Q1 2026 — Fondations de la plateforme

Tracks parallèles — tous terminés

Cinq chantiers de développement menés en parallèle, tous FAIT début 2026 :

  1. Projection démographique — Tests passent : 35 backend (5 communes × 7 tests) + 12 frontend. Méthodologie OMPHALE documentée
  2. Carte SITADEL — Backend + Frontend. Overlay sections cadastrales GeoJSON, coloration par densité de permis, tooltips, lazy-loaded
  3. Données sociales — CAF communal 157K rows, APA/PCH départemental 101 rows, FINESS 86K rows. API + frontend OK. Ratios 60+/75+ affichés
  4. BPE drill-down — Page dédiée + 3 niveaux + recherche. PLM (Paris/Lyon/Marseille) fixé
  5. Comparaison EPCI — Backend 3 endpoints + Frontend EpciComparison.tsx : carte EPCI, comparaison commune vs EPCI (revenu, pauvreté, croissance), table triable des communes membres

Mars 2026 — Data reorg

22 mars — Raw data reorganized

Le dossier raw/ a été réorganisé en structure thématique :

raw/ ├── referentiel/ (communes, EPCI) ├── demographie/ (recensements, filosofi, omphale) ├── immobilier/ (dvf, sitadel, cadastre) ├── logement/ (rpls, lovac, zonage_abc) ├── equipements/ (bpe, education) ├── sante/ (rpps, finess) ├── social/ (caf, aides_dept) └── finance/ (DGFiP)

Pourquoi : l'ancienne structure plate mélangeait les thématiques et rendait difficile l'ajout de nouvelles sources. Tous les chemins dans migrate.py et scripts d'ingestion ont été mis à jour.

22 mars — DVF/Cadastre reimport bug

Root cause identifiée : migration incomplète des données, pas bugs code.

  • DVF : migrate_dvf_batched() crashait après 6 départements (01-06) avec un batch size de 100K trop gros. Fix : réduction à 50 000. Réimport complet du fichier 3,3 GB nécessaire.
  • Cadastre : ingest_cadastre.py attendait un fichier national fusionné qui n'existait pas. Réécrit pour traiter 99 fichiers département individuellement. Import complet 55 GB en cours.
  • SITADEL : fonctionne correctement (2,3M rows, tous départements).

Code fixes appliqués (nécessitent backend restart) :

  1. main.py : endpoint permits renvoie [] au lieu de 404
  2. analysis.py : fallback PostGIS dans get_urban_permits()
  3. migrate.py : DVF batch size = 50 000
  4. ingest_cadastre.py : réécrit par département
  5. frontend/App.tsx : construction catch renvoie []
  6. frontend/ConstructionProjects.tsx : empty state message

14 avril 2026 — Session massive MAJ plateforme

Session complète — 42/42 ISC passés.

Ce qui a été fait

LOG-01 (priorité 1)

  • Mega prompt v6 réécrit : 10 slides, benchmarks 5 colonnes, slide marché immobilier DVF+ANIL, cross-sell, définitions, sources détaillées, millésime RP 2022
  • HTML test Palaiseau généré : backend/reports/91477_20260414_v6_test.html
  • html_to_pdf.py créé (Playwright/Chromium)
  • Endpoint API GET /api/reports/{id}/download/html-pdf

Frontend

  • LandingPage.tsx : hero v2 (3 piliers, stats, 3 produits Observatoire/Flash/Premium)
  • CatalogueEtudes.tsx : 4 niveaux th/adv/vpl/obl au lieu de S/A/P
  • catalogue_etudes.json : 40 études, 10 thèmes depuis lobster_v11
  • CGVPage.tsx : CGV v1.6 (fusion CGU) depuis DOCX Cyrille
  • PrivacyPage.tsx : PC v1.1 depuis DOCX Cyrille

Documentation

  • WIKI.md : 10 sections, base de connaissance interne (précurseur de ce wiki)
  • SPRINT_MAI_2026.md : planning 4 semaines, 6 études prioritaires
  • Checklist vérif : docs/CHECKLIST_SESSION_20260414.md
  • Dossiers docs/, deploy/ nettoyés

Ce qui restait à faire après la session

  1. Enrichir data collector LOG-01 avec requêtes DVF + source ANIL loyers
  2. Écrire ingest_anil.py, créer table anil_loyers
  3. DVF + Cadastre : réimport nécessaire (encodage UTF-16LE)
  4. Sirene : attendre upload Marc
  5. DEM-01 : prochaine étude à implémenter
  6. Build + deploy : npm run build frontend, restart backend, vérifier l-obster.fr
  7. Liens systemd : mettre à jour après déplacement .service dans deploy/

18 avril 2026 — Red-team interne

Document : docs/red-team-lobster-2026-04-18.html.

Verdict unanime

Stopper le développement de nouvelles features tant que la qualité core n'est pas validée par 5 pilotes réels.

5 blind spots identifiés

  • 0 paying customers
  • 0 ventes effectuées
  • 0 feedback terrain
  • 0 démo présentielle avec DGS
  • 0 LOI (Letter of Intent)

Recommandations matrix

  • ⛔ STOP toute feature nouvelle
  • ⚠ Réduire le catalogue affiché à 3 études
  • ✓ Générer 5 rapports gratuits pour 5 communes du réseau Cyrille
  • ✓ Recueillir feedback, itérer qualité plutôt que largeur

Quick fixes recommandés

  • temperature=0 dans llm_client.py (1 ligne)
  • Remplacer "~" (estimation) par "N/A" dans les prompts
  • Validation post-génération : chaque chiffre tracé vers la donnée d'entrée

Voir Sprint 3 Red-team pour le tri.

24 avril 2026 — Sprint 0 Wiki

En cours au moment de la rédaction de ce document.

Livré

  • Repo privé lobster-wiki sur GitHub
  • Wiki MkDocs Material + Mermaid déployé sur Cloudflare Pages
  • Structure 7 sections + 40+ pages
  • HTTP Basic Auth via Pages Functions (contourne Zero Trust payant)
  • Cyrille livre LOG01_Palaiseau_paysage_v2.html (refonte qualité) et DEM01_Besancon_2026_v3.html (template à répliquer pour DEM-01)
  • Marc upload données ANIL MEF-DHUP dans raw/ANIL/

Prochaines étapes

  • Sprint 1 : refonte LOG-01 selon HTML v2 Cyrille + branchement ANIL/DPE/BPE
  • Sprint 2 : création DEM-01 depuis template Besançon
  • Sprint 3 : tri red-team en ISC vs questions ouvertes
  • Sprint 4 : robustesse post-achat (Stripe webhook complet, fallback 35 études)
  • Sprint 5 : dashboard admin (KPIs, régénération, factures)

Voir Roadmap pour le Gantt complet.

Chiffres clés projet

Métrique Valeur
Scripts d'ingestion 17 opérationnels
Tables PostgreSQL 20+ peuplées
Vues matérialisées 2
Endpoints API 47
Études au catalogue 40
Pipelines fonctionnels 3 (TER-01, LOG-01, ABS-06)
Études avec pipeline à créer 37
Sources données uploadées 15
Sources manquantes bloquantes 3 (SIRENE, SNE, CPAM)
Sprints backlog 6
Questions ouvertes business 8