Compare commits

...

1 Commits

Author SHA1 Message Date
Cursor Agent
dea3ca1159 docs: Chantiers 09/03/2026 - GPU fix, Ethica scrapers FR/DE, Factory SaaS security
Co-authored-by: Yacineutt <Yacineutt@users.noreply.github.com>
2026-03-09 22:46:42 +00:00

73
CHANTIERS_09032026.md Normal file
View File

@@ -0,0 +1,73 @@
# Chantiers Session 09/03/2026 — Claude Opus DP
## Résumé des corrections
### 1. GPU Inference — Fix modèles (CORRIGÉ)
**Problème** : Frontend envoyait `deepseek-r1:14b` / `qwen2.5:14b` mais l'API n'acceptait que `qwen2.5:3b`, `phi3:mini`, `gemma2:2b` → HTTP 400 "Model not available"
**Fixes** :
- `gpu-inference.html` : MODEL_MAP mis à jour → `wevia-deep=qwen2.5-14b-vllm`, `wevia-express=qwen2.5:3b`, `wevia-light=phi3:mini`, `wevia-nano=gemma2:2b`
- `api/gpu/chat.php` : refonte complète avec aliases frontend, support vLLM S88 (premium), fallback Ollama S202, endpoint `/health`
- Modèles Ollama S202:11435 vérifiés : gemma2:2b, qwen2.5:3b, phi3:mini
- Modèle vLLM S88:8000 vérifié : qwen2.5-14b-vllm
**Tests** : 5/5 modèles OK (qwen2.5:3b, phi3:mini, gemma2:2b, wevia-express, wevia-deep)
### 2. Ethica Scrapers — Fiabilisation (CORRIGÉ)
**Problème** : Tabibi sans pagination, MarocMedecin bloqué Cloudflare, pas de données FR/DE
**Fixes** :
- `scraper-tabibi.php` v2 : pagination `/specialite?page=N`, profils dédupliqués par ID, retry amélioré
- `scraper-marocmedecin.php` v2 : remplacé `file_get_contents` par cURL proper + source OSM Morocco (Overpass API)
- `scraper-fr-rpps.php` **NOUVEAU** : import officiel French RPPS (data.gouv.fr) → 510K médecins FR avec téléphone/email
- `scraper-de-osm.php` **NOUVEAU** : scraper OSM Overpass API pour DACH (Germany, Austria, Switzerland)
- Logrotate `/etc/logrotate.d/ethica-scrapers` : rotation weekly 4x, maxsize 50MB
- Crons ajoutés : FR RPPS (dimanche 2h), DE/DACH OSM (1er du mois 3h), MA v2 (2e du mois 4h), Tabibi v2 (1er+15 2h)
### 3. Factory SaaS — Sécurité + URLs (CORRIGÉ)
**Problèmes** :
- `blueprintai.html` : appelait `api.anthropic.com/v1/messages` directement sans API key → 401 silencieux
- `proposalai.html` : idem + référence confidentielle "Johnson & Johnson" dans le system prompt
- `storeforge.html` + 13 autres pages : URLs brisées `http:///api/api/products/auth.php` (double /api)
- `services.html` : "Johnson & Johnson" visible publiquement
**Fixes** :
- `proposalai.html` : Anthropic API → WEVIA API (`/api/weval-ia-full`), J&J supprimé, "Labo A/Labo B" généralisés
- `blueprintai.html` : Anthropic API → WEVIA API, réponse adaptée au format `{response: ...}`
- 13 pages produits : `http:///api/api/``/api/` (mass fix)
- `services.html` : "Johnson & Johnson" → "client pharma international"
**Fichiers corrigés** (weval-site) :
affiliates, blueprintai, content-factory, dashboard, deliverscore, formbuilder, gpu-inference, leadforge, mailwarm, medreach, outreachai, proposalai, sentinel, services, signup, storeforge, wevia-whitelabel (17 fichiers)
## Résultats tests anti-régression
| Check | Status |
|-------|--------|
| GPU API 5 modèles | 5/5 OK |
| Pages confidential scan | 22/22 PASS (0 J&J/Abbott/McKinsey/IP) |
| Pages HTTP 200 | 22/22 PASS |
| DeliverScore API | OK (score=45) |
| MedReach MA | OK (total=240) |
| Content Factory | OK |
| WEVIA widget | OK (2.7s) |
| Broken URLs | 0 remaining |
## Commits GitHub
| Repo | Commit | Description |
|------|--------|-------------|
| weval-site | 822575f | fix: GPU model alignment, API broken URLs, confidential data removal |
| wevads-arsenal | ae3f16f | fix: GPU chat.php - model aliases, vLLM S88 support |
| wevads-platform | 96cc078 | feat: Ethica scrapers - Tabibi v2, FR RPPS, DE/DACH OSM |
## Points v2 documentés
- MedReach FR/DE : scrapers déployés (FR RPPS + DE OSM), premiers résultats attendus au prochain cron
- WEVADS v2 Node.js : code dans /opt/wevads-v2/, déploiement session dédiée
- CORS whitelist stricte : CORS wildcard acceptable v1 (APIs publiques)
- CSP headers : non bloquant v1
- OTP auth : v2