L'iPhone n'est joignable depuis nulle part - CGNAT operateur en 4G, NAT de la box sur le WiFi du studio, UPnP indisponible. Le serveur RTSP de l'application camera est donc inutilisable de l'exterieur. Seule une connexion sortante traverse les deux NAT : c'est le telephone qui pousse. - MediaMTX en conteneur : SRT/RTMP en entree, WebRTC (WHEP) et HLS en sortie. La video ne traverse jamais la JVM - 800 kbps continus dans Spring Boot couteraient un thread par spectateur sans rien apporter. - SRT privilegie sur RTMP : RTMP est du TCP, un paquet perdu sur un lien mobile bloque tout le flux. SRT retransmet selectivement en UDP. - Lecture publique (choix assume), publication authentifiee : sans ca n'importe qui pousserait sa propre video sur le flux "biblio". - Console : client WHEP maison avec repli HLS automatique, et mise en pause quand l'onglet passe en arriere-plan. Correction d'un bug trouve en deployant : le @ExceptionHandler(Exception) avalait les exceptions que Spring sait deja traduire, si bien que toute URL inconnue renvoyait 500 au lieu de 404 - ce qui noyait les vraies pannes au milieu des 500 provoques par les crawlers. Test de regression ajoute. 35 tests au vert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
29 lines
1 KiB
Text
29 lines
1 KiB
Text
# Generer le .env avant le premier demarrage :
|
|
#
|
|
# grep -v '^DB_PASSWORD=' .env.example > .env
|
|
# printf 'DB_PASSWORD=%s\n' "$(openssl rand -hex 24)" >> .env
|
|
# chmod 600 .env
|
|
#
|
|
# Ne pas faire un sed global sur CHANGEME : le motif apparait aussi dans ce
|
|
# commentaire, et le mot de passe genere s'y retrouverait en clair.
|
|
|
|
# Mot de passe PostgreSQL. Obligatoire : le compose refuse de demarrer sans.
|
|
DB_PASSWORD=CHANGEME
|
|
|
|
# Simulateur de capteur. A desactiver le jour ou le vrai iPhone POSTe
|
|
# sur /api/v1/sensor-events.
|
|
SIMULATOR_ENABLED=true
|
|
SIMULATOR_INTERVAL=8s
|
|
|
|
# Reglages de sensibilite de l'alarme.
|
|
ALARM_EXIT_DELAY=30s
|
|
ALARM_MIN_CONFIDENCE=60
|
|
|
|
LOG_LEVEL=INFO
|
|
|
|
# Mot de passe de publication du flux video.
|
|
# Seul l'iPhone doit pouvoir pousser sur le flux "biblio" : sans ce garde-fou,
|
|
# n'importe qui sur Internet remplacerait l'image du studio par la sienne.
|
|
# Genere au deploiement, comme DB_PASSWORD :
|
|
# printf 'STREAM_PUBLISH_PASSWORD=%s\n' "$(openssl rand -hex 16)" >> .env
|
|
STREAM_PUBLISH_PASSWORD=CHANGEME
|