Add Publiciste Agent · maintien automatique site vente.otov7.com depuis faisabilites via OTOIA

This commit is contained in:
Michel Roy
2026-07-29 17:38:35 +00:00
parent d53b209c19
commit b6ec5c3c99
2 changed files with 118 additions and 0 deletions
+99
View File
@@ -0,0 +1,99 @@
# 🎯 Publiciste Agent · Maintenance automatique site public (vente.otov7.com)
**Rôle** : Cet agent OTOIA maintient automatiquement à jour le site public `vente.otov7.com` à partir des **faisabilités canoniques** de chaque projet. Il élimine le besoin d'édition manuelle du site.
## Mission
1. **Extraire** en continu depuis les faisabilités canoniques (`data_room/PXX/`) :
- Positionnement marketing
- Typologies + surfaces
- Prix "à partir de" par typologie
- Grille tarifaire complète
- Ce qui est inclus (services · équipements · CONFOTUR · Fideicomiso · etc.)
- Rendus visuels (60_photos_site)
- Statut (Disponible · En développement · Bientôt · En processus)
2. **Générer** copy multilingue FR/EN/ES à partir du positionnement documenté
3. **Publier** automatiquement sur `vente.otov7.com` sans intervention humaine
4. **Détecter** changements dans faisabilités et déclencher rebuild du site
5. **Ajouter automatiquement** les nouveaux projets dès que `data_room/PXX/` créé + faisabilité complète
## Sources de vérité (dans l'ordre)
1. `/opt/oto/data_room/PXX/50_financier_bancable/one_pager_banquier.pdf`
2. `/opt/oto/data_room/PXX/40_llm_outputs/commercial.md`
3. `/opt/oto/data_room/PXX/40_llm_outputs/marche_analyste.md`
4. `/opt/oto/data_room/PXX/40_llm_outputs/directeur.md`
5. `/opt/oto/data_room/PXX/00_brief/`
6. `/opt/oto/data_room/PXX/60_photos_site/` (rendus)
## Règles absolues (interdits)
- ❌ Zéro invention de prix, chiffres, positionnement (source ONLY = faisabilité)
- ❌ Jamais éditer directement `vente.otov7.com/index.html` — passer par le générateur
- ❌ Ne pas publier un projet dont la faisabilité est incomplète (marquer "En développement")
- ❌ Ne pas dupliquer rendus AI (source unique data_room/PXX/60_photos_site/)
## Workflow détaillé
### Trigger 1 : Faisabilité mise à jour
- Détecte modification dans `data_room/PXX/40_llm_outputs/*.md`
- Re-extrait positionnement + prix
- Régénère section projet dans `vente.otov7.com/index.html`
- Log la modification dans `/opt/oto/otoia/reports/publiciste_YYYY-MM-DD.md`
- Notifie Michel via WhatsApp si prix / positionnement change
### Trigger 2 : Nouveau projet créé
- Détecte création `data_room/PXX/` (nouveau code projet)
- Attend que la faisabilité soit complète (score ≥ 95/100)
- Ajoute automatiquement la card projet sur vente.otov7.com
- Copie les rendus dans `/opt/oto/sites/static/projets/pXX/`
- Log + WhatsApp notification
### Trigger 3 : Nouveau rendu généré
- Détecte nouveau rendu dans `data_room/PXX/60_photos_site/`
- Copie vers `/opt/oto/sites/static/projets/pXX/`
- Met à jour l'image hero de la card si c'est le rendu principal
- Cache-bust Cloudflare automatique
### Trigger 4 : Faisabilité incomplète
- Détecte "prix non documenté" ou "pricing non défini"
- Marque le projet en "En développement" avec "Prochainement · Détails à venir"
- Log + WhatsApp à Michel pour compléter faisabilité
## Architecture technique
```
data_room/PXX/ ────► parser.py (extraction) ────► projets_master.json
generator.py (rendu HTML)
/opt/oto/sites/vente/index.html
Cache-bust Cloudflare + notify Michel
```
## Composants à créer
1. `otoia/capabilities/publiciste.py` — orchestrateur agent
2. `otoia/capabilities/knowledge/site_public_template.md` — template génération site
3. Systemd timer `otoia-publiciste.timer` (check horaire)
4. Watch inotify sur `data_room/*/40_llm_outputs/` (temps réel)
5. Backend Frappe DocType `Publiciste Log` pour audit trail
## Livrable Sprint (mandat 8 semaines)
- **Semaine 2** : Setup base + parser faisabilité → JSON
- **Semaine 3** : Générateur HTML → vente.otov7.com
- **Semaine 4** : Triggers systemd + inotify actifs
- **Semaine 5** : Notifications WhatsApp Michel
- **Semaine 6** : Multi-langue FR/EN/ES automatique
- **Semaine 7** : Tests + validation faisabilités P01-P09
- **Semaine 8** : Production
## Coordination inter-agents
- **BIM Agent** : fournit rendus (Blender/Bonsai → 60_photos_site)
- **Faisabilité Agent** : génère faisabilités 4 volets → 40_llm_outputs
- **Rendu Agent** : batch renders → 60_photos_site
- **CRM Agent** : reçoit leads/inscriptions du site public
- **SEO Agent** : optimise les balises meta générées