# Architecture du système ## Vue d'ensemble ```mermaid graph TB subgraph Domicile["🏠 Domicile du bénéficiaire"] CAM1[Caméra 1 - Salon] CAM2[Caméra 2 - Chambre] CAM3[Caméra 3 - Cuisine] JETSON[Jetson Orin Nano
SmartEye v30] CAM1 -->|RTSP local| JETSON CAM2 -->|RTSP local| JETSON CAM3 -->|RTSP local| JETSON end subgraph OVH["☁️ Serveur OVH (57.128.74.87)"] API[api.php
Réception images] ANALYZE[analyze.py
Gemini 2.5 Flash] ALERT[alert_manager.py
Cycle de vie alertes] WATCHDOG[alert_watchdog.py
Escalade cron] DB[(database.json)] API --> ANALYZE ANALYZE --> ALERT ANALYZE --> DB WATCHDOG --> ALERT end subgraph Mobile["📱 Téléphones aidants"] APP1[LucasApp - Fille] APP2[LucasApp - Fils] end JETSON ==>|SSH Tunnel
Image POST| API ANALYZE ==>|Firebase Push| APP1 ANALYZE ==>|Firebase Push| APP2 JETSON -.->|RTSP Tunnel| APP1 JETSON -.->|Audio WebSocket| APP1 ``` ## Composants ### SmartEye (Jetson Orin Nano) | Caractéristique | Détail | |----------------|--------| | **Modèle IA** | YOLOv8 (détection) + pose estimation | | **Caméras max** | 6 par site | | **Flux** | HD (/11) pour détection, SD (/12) pour streaming | | **Communication** | SSH tunnels inversés vers OVH | ### Lucas (Serveur OVH) | Caractéristique | Détail | |----------------|--------| | **Analyse IA** | Google Gemini 2.5 Flash (vision) | | **Notifications** | Firebase Cloud Messaging | | **SMS backup** | OVH SMS API | | **Dashboard** | PHP + Tailwind CSS | ### LucasApp (Flutter) | Caractéristique | Détail | |----------------|--------| | **Plateforme** | Android (Flutter) | | **Flux vidéo** | RTSP via tunnels SSH | | **Interphone** | WebSocket audio bidirectionnel (PCM A-law) | | **Acquittement** | POST vers alert_ack.php | ## Convention de ports Chaque site client utilise une plage de 10 ports : ``` Site N → base_port = 8550 + (N-1) × 10 Offset 0-5 : RTSP caméras (max 6) Offset 6 : Audio WebSocket relay Offset 7 : WebUI locale SmartEye Offset 8-9 : Réservés ``` !!! note "Site pilote (Aléria)" Le site pilote conserve ses ports historiques : 8554/8555/8556 (RTSP) + 8800 (audio).