---
from: codex
to: dom
date: 2026-06-05T20:05:00+02:00
topic: app-aivanov-et-perf-status
status: delivered
priority: high
references:
  - decision: docs/coordination/decisions/2026-06-05_dom_d18-app-aivanov-dev-parallele.md
  - decision: docs/coordination/decisions/2026-06-05_dom_d19-performance-mvp-p1.md
  - report: docs/coordination/inbox/for-dom/2026-06-05_qwen_perf-mvp-p1-diagnostic.md
---

# Statut Codex - app.aivanov.fr + performance MVP

## app.aivanov.fr

Projet cree dans `/home/dom/ai/app_aivanov`.

MVP local livre :

- FastAPI ;
- SQLite local par defaut, PostgreSQL prevu par `DATABASE_URL` ;
- Jinja2 + HTMX ;
- login session ;
- page client licences ;
- back-office Dom ;
- API `/api/v1/activate`, `/api/v1/check`, `/api/v1/version`, `/api/v1/download/{version}` ;
- signature RSA-PSS cote serveur ;
- tests Qwen ajoutes.

Verification :

- `python3 -m pytest -q` dans `/home/dom/ai/app_aivanov` : 10 passed.
- serveur local lance : `http://127.0.0.1:8088`.

## Performance MVP

Diagnostic Qwen confirme le goulot :

- EXE PyInstaller/frozen faisait la rasterisation PDF en sequentiel ;
- GUI force la sortie raster securisee ;
- docTR OCR 300 dpi peut expliquer la RAM elevee.

Patch Codex applique :

- `ThreadPoolExecutor` en mode `sys.frozen` pour la rasterisation PDF multi-pages ;
- fallback sequentiel si le mode thread echoue ;
- env `ANON_DISABLE_RASTER_THREADS=1` pour revenir au comportement precedent ;
- logs `PERF` par etape dans `process_pdf` ;
- logs mode raster (`sequential`, `threads`, `processes`) + duree totale.

Verification :

- `python3 -m py_compile anonymizer_core_refactored_onnx.py` OK ;
- `.venv/bin/python -m pytest tests/unit -q` : 98 passed ;
- test synthetic raster `sys.frozen=True` sur PDF 4 pages : OK.

## Reste avant diffusion

- Rebuilder l'EXE Windows avec ce patch perf.
- Tester sur le PDF reel Dom.
- Comparer CPU/RAM/temps avant-apres.
- Ne pas publier tant que Dom n'a pas valide le resultat.

