---
suivi: 1046
date: 2026-07-29
sujet: Aktor consolidation — déclenchement web (HTTPS CLI bloqué OVH)
chantier: aktor
type: fix
statut: poussé
hash: bf595fd9
fichiers:
  - app/Http/Controllers/AssistantConsolidationController.php
  - app/Console/Commands/AktorConsoliderCommand.php
  - routes/web.php
  - resources/js/Pages/Aktor/Consolidations.vue
  - tests/Unit/AssistantConsolidation1046Test.php
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - docs/suivi/SUIVI_1044_aktor_consolidation_backlog.md
  - docs/suivi/SUIVI_1046_aktor_consolidation_declenchement_web.md
  - public/build/
---

## PROMPT ENVOYÉ

SUIVI #1046 — correctif architecture #1044 : HTTPS sortant bloqué en CLI OVH.
Déclenchement web POST /aktor/consolidations, réutiliser executer() tel quel, CLI
conservée avec warning, audit commandes API externes, rebuild, LEÇON réseau.

## SYNTHÈSE

### Preuve prod
`cURL error 7: Failed to connect to api.anthropic.com port 443: Connection refused`
en CLI. Hypothèse #1044 (« HTTPS sort en CLI ») réfutée.

### Correctif
- `POST /aktor/consolidations` → `AssistantConsolidationController::store`
- Réutilise `$agent->executer($user, $maxTours, false)` SANS duplication
- Bouton + loading + anti double-clic ; défaut web max_tours=4 + set_time_limit(300)
- CLI (a) conservée avec warning OVH explicite

### Audit artisan/API externes (sans correction)
Voir livrable : meta:*, SharePoint*, schedule Intacct jobs, taches:digest, aktor:consolider.

## DÉPLOIEMENT / TEST

```bash
git pull origin main
find app/ -name "*.php" -exec touch {} +
php artisan optimize:clear
php artisan view:clear
php artisan route:clear
php artisan journal:sync
```

Tester le bouton sur `/aktor/consolidations` (seul contexte HTTPS valide).

## LEÇON

Sur OVH mutualisé cluster113, le HTTPS sortant est BLOQUÉ en CLI. Tout appel API externe
(Anthropic, Sage Intacct, Meta Graph, Microsoft Graph) doit partir du contexte web / PHP-FPM.
L'ERP ne peut pas non plus s'appeler en loopback. Conséquence : aucune fonctionnalité
dépendant d'une API externe ne peut être portée par une commande artisan ou un cron CLI.

Une architecture peut être fonctionnellement correcte et néanmoins inopérante à cause de
l'infrastructure — vérifier le contexte d'exécution AVANT de choisir un point d'entrée.
