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 :
- Projection démographique — Tests passent : 35 backend (5 communes × 7 tests) + 12 frontend. Méthodologie OMPHALE documentée
- Carte SITADEL — Backend + Frontend. Overlay sections cadastrales GeoJSON, coloration par densité de permis, tooltips, lazy-loaded
- Données sociales — CAF communal 157K rows, APA/PCH départemental 101 rows, FINESS 86K rows. API + frontend OK. Ratios 60+/75+ affichés
- BPE drill-down — Page dédiée + 3 niveaux + recherche. PLM (Paris/Lyon/Marseille) fixé
- 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.pyattendait 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) :¶
main.py: endpointpermitsrenvoie[]au lieu de 404analysis.py: fallback PostGIS dansget_urban_permits()migrate.py: DVF batch size = 50 000ingest_cadastre.py: réécrit par départementfrontend/App.tsx: construction catch renvoie[]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.pycréé (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 niveauxth/adv/vpl/oblau lieu de S/A/Pcatalogue_etudes.json: 40 études, 10 thèmes depuis lobster_v11CGVPage.tsx: CGV v1.6 (fusion CGU) depuis DOCX CyrillePrivacyPage.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¶
- Enrichir data collector LOG-01 avec requêtes DVF + source ANIL loyers
- Écrire
ingest_anil.py, créer tableanil_loyers - DVF + Cadastre : réimport nécessaire (encodage UTF-16LE)
- Sirene : attendre upload Marc
- DEM-01 : prochaine étude à implémenter
- Build + deploy : npm run build frontend, restart backend, vérifier l-obster.fr
- Liens systemd : mettre à jour après déplacement
.servicedansdeploy/
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=0dansllm_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-wikisur 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é) etDEM01_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 |