Skip to content

feat(deploy): front sur un serveur dédié et annonce de l'IA hors ligne - #9

Merged
mathiscapart merged 1 commit into
mainfrom
mathiscapart/ia-hors-ligne
Sep 17, 2026
Merged

mathiscapart merged 1 commit into
mainfrom
mathiscapart/ia-hors-ligne

Conversation

@mathiscapart

@mathiscapart mathiscapart commented Sep 17, 2026 •

Copy link
Copy Markdown
Owner

Contexte

Le front passe sur un serveur dédié (Debian 13, toujours allumé). Le GPU reste sur le PC, allumé seulement à la demande : le site doit l'annoncer quand l'IA est injoignable.

Changements

  • Front (VoiceChat.tsx) : GET /api/health au chargement (délai 5 s). En échec (réseau, 502/504, Qdrant/Ollama absent) : bouton Parler désactivé, message « hors ligne » (ressources et coût) avec liens parcours écrit et LinkedIn.
  • Traefik (portfolio.yml) : API jointe sur 192.168.1.75:8000, serversTransport avec dialTimeout: 2s.
  • Compose d'exposition : host.docker.internal retiré, commentaires adaptés.
  • start-natif.ps1 : API_HOST (défaut 127.0.0.1, production 192.168.1.75).
  • Docs : exploitation.md (topologie, section 10 mise en place du serveur front), frontend.md, CLAUDE.md.

Vérifications

  • npx vitest run : 22/22 (3 nouveaux tests : fetch rejeté, 502, API disponible) ; tsc --noEmit propre.
  • Chromium (next dev, API injoignable) : message affiché, bouton désactivé, lien LinkedIn correct.
  • Traefik v3.6 jetable : portfolio-api@file activé, serversTransport: pc-gpu, aucune erreur ni warning.
  • docker compose config et parsing PowerShell OK.
  • Non vérifié : 502 rapide réel avec le PC éteint (à mesurer sur le serveur front).

⚠️ Avant de lancer sur le serveur front

  1. Pare-feu du PC : des règles « Python » autorisent python.exe en entrée sur tous les ports depuis partout. Les désactiver et n'autoriser que le serveur front sur 8000 (docs/exploitation.md §10), sinon le LAN contourne le rate-limit.
  2. Couper la stack d'exposition sur le PC avant de la démarrer sur le serveur front : deux connecteurs avec le même jeton se partageraient le trafic.
  3. Si le Traefik du PC redémarre alors que l'API écoute encore sur 127.0.0.1, le vocal tombe.

🤖 Generated with Claude Code

@mathiscapart
mathiscapart force-pushed the mathiscapart/ia-hors-ligne branch from 9bfff98 to 170e6a6 Compare September 17, 2026 15:08
Le front (nginx, Traefik, cloudflared) tourne sur un serveur toujours allumé ;
l'API reste sur le PC du GPU, allumé à la demande, jointe via le réseau local.

- front : /health vérifié au chargement (5 s) ; en échec, bouton Parler
  désactivé et message hors ligne avec lien LinkedIn
- Traefik : API sur 192.168.1.75:8000, dialTimeout 2s pour un 502 rapide
- start-natif.ps1 : interface d'écoute configurable via API_HOST
- docs : topologie, pare-feu Windows et mise en place du serveur front

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mathiscapart mathiscapart changed the title feat(deploy): front sur THINK-02 et annonce de l'IA hors ligne feat(deploy): front sur un serveur dédié et annonce de l'IA hors ligne Sep 17, 2026
@mathiscapart
mathiscapart merged commit 749b6a4 into main Sep 17, 2026
4 checks passed
@mathiscapart
mathiscapart deleted the mathiscapart/ia-hors-ligne branch September 17, 2026 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant