18 / 15

DISPATCH

📍
🚨 APPEL D'URGENCE ENTRANT {{ pendingCalls.length }}
{{ pendingCalls[0].timeFormatted }}
📞
{{ pendingCalls[0].urgency === 'VITAL' ? 'URGENCE VITALE' : 'URGENT' }} ⏳ {{ Math.round(getWaitTimeRemaining(pendingCalls[0])) }}s {{ pendingCalls[0].commune }}
{{ pendingCalls[0].motifTitle }}
{{ pendingCalls[0].address }}
+{{ pendingCalls.length - 1 }} autre(s) appel(s) dans la file CTA
🧑‍🚒
Centre Opérationnel
{{ activeDepartment.name }}
{{ currentRank.insignia }} NIV.{{ currentRank.level }}
{{ currentRank.short }}. {{ currentUser.name }}
{{ currentUser.matricule }}
{{ currentRank.title }} {{ currentUser.xp }} XP
Mode Invité
Connectez-vous pour sauver vos XP
Outils & Régulation
Environnement & Ambiance
🌤️ {{ weatherState.temp }}°C 💨 {{ weatherState.windSpeed }} km/h ({{ weatherState.windDir }})
Risque Feux (DFCI) : {{ weatherState.fireRisk }}
{{ liveTime }} • {{ liveDate }}
SGO / NexSIS v4.2 • Mobile Edition
🇫🇷 CARTE IGN
GÉOPLATEFORME
Calques Opérationnels

Dossier d'Appel d'Urgence : {{ activeCallModal.id }}

{{ activeCallModal.urgency }} LIGNE {{ activeCallModal.canal }} ⏱️ {{ Math.round(activeCallModal.processingSeconds || 0) }}s {{ activeCallModal.isDeceased ? '☠️ DÉCÉDÉ' : `❤️ Pronostic : ${activeCallModal.victimHealth ?? 100}%` }}

Opérateur CTA-CODIS / Décroché opérationnel 18-112

☠️ DÉCÈS DE LA VICTIME CONSTATÉ DURANT LA RÉGULATION (TEMPS LIMITE DÉPASSÉ SANS DÉPART DES SECOURS)
1. Identification & Localisation
Appelant :
{{ activeCallModal.callerName }}
N° Téléphone :
{{ activeCallModal.callerPhone }}
Adresse de l'événement :
{{ activeCallModal.address }}, {{ activeCallModal.commune }}
2. Dialogue avec l'Appelant (Audio retranscrit) ● EN LIGNE
{{ line.speaker === 'CTA' ? '▶ CTA 18/112 :' : '◀ APPELANT :' }}

{{ line.text }}

⚡ Questions d'Anamnèse & Triage Opérateur Cliquez pour questionner l'appelant
3. Bilan Synthétique de Détresse
CONSCIENCE
{{ activeCallModal.vital.conscience }}
RESPIRATION
{{ activeCallModal.vital.respiration }}
HÉMORRAGIE
{{ activeCallModal.vital.hemorragie ? 'OUI' : 'NON' }}
COMA PROFOND / AR SMUR
GCS : {{ gcsTotal }}/15
❤️‍🔥
GUIDAGE RCP EN DIRECT (110 BPM) EN COURS

Consignes de réanimation cardio-pulmonaire assistée

Compressions rythmées
{{ cprBeatsCount }}
Temps de massage
{{ Math.floor(cprDurationSeconds / 60) }}m {{ (cprDurationSeconds % 60).toString().padStart(2, '0') }}s
📢 CONSIGNE À DICTER À L'APPELANT :

"Placez le talon de votre main au centre de sa poitrine nue, croisez vos doigts. Bras bien tendus, appuyez fort de 5 à 6 centimètres au rythme des bips sonores ! Ne vous arrêtez pas, je reste avec vous !"

⏱️ Chronomètre Thrombolyse AVC (Fenêtre UNV < 4h30) CODE STROKE
Heure de début des symptômes : Il y a {{ strokeMinutesElapsed }} minutes
{{ strokeTimeRemaining.total > 0 ? '🟢 ÉLIGIBLE THROMBOLYSE' : '🔴 FENÊTRE DÉPASSÉE' }}
Reste {{ strokeTimeRemaining.hours }}h {{ strokeTimeRemaining.mins }}m avant fin fenêtre Orientation Neuroradiologie interventionnelle
🍼 GUIDAGE OBSTÉTRIQUE TÉLÉPHONIQUE ACTIF
ÉTAPE {{ obstetricStep }} / 4 : {{ getObstetricStepTitle(obstetricStep) }}

"{{ getObstetricStepInstruction(obstetricStep) }}"

🩸 GARROT TACTIQUE TOURNIQUET (CAT) POSÉ À {{ tourniquetAppliedTime }}
Temps d'ischémie : {{ Math.floor(tourniquetElapsedSeconds / 60) }}m {{ (tourniquetElapsedSeconds % 60).toString().padStart(2, '0') }}s < 2h (Zone Sûre)

Consigne : "Serrez jusqu'à arrêt complet du saignement. Notez l'heure sur le front du blessé. Ne jamais desserrer sans avis médical."

🤖 Recommandation Tactique IA {{ activeCallAiAnalysis.triageCode }} ({{ activeCallAiAnalysis.gravityScore }}/10)

{{ activeCallAiAnalysis.justification }}

⚠️ {{ rf }}
Vecteurs : {{ activeCallAiAnalysis.recommendedVehicles.join(' + ') }}
Qualification de l'Appel
Motif retenu :
{{ activeCallModal.motifTitle }}
🤖 Analyse & Triage IA CTA-CODIS Gravité {{ activeCallModal.aiAnalysis.gravityScore }}/10 • Confiance {{ activeCallModal.aiAnalysis.confidenceIndex }}
Facteurs critiques détectés :
⚠️ {{ rf }}
Consigne prioritaire à l'appelant :

"{{ activeCallModal.aiAnalysis.callerAdvice }}"

Train de départ IA :
{{ type }}
Régulation Médicale CRRA 15 MÉDECIN EN LIGNE... AVIS MÉDICAL RENDU

Transmettre la fiche anamnèse au Médecin Régulateur pour avis clinique ou engagement SMUR médicalisé.

Évaluation clinique du médecin en cours...

Décision : {{ activeCallModal.crraAdvice.decisionTitle }}

{{ activeCallModal.crraAdvice.comment }}

Vecteurs préconisés : {{ activeCallModal.crraAdvice.recommendedVectors.join(' + ') }}
🚒

Proposition de Départ Opérationnel

Incident : {{ departureModalCall.motifTitle }} - {{ departureModalCall.commune }}

Composition recommandée pour cet événement : {{ getRecommendedCompositionText(departureModalCall) }}
Sélectionner les engins à engager :
{{ getVehicleIcon(veh.type) }}
{{ veh.name }} {{ getStationName(veh.stationId) }}
{{ veh.crew }} Sapeurs-Pompiers • Spécialité : {{ veh.speciality }}
ETA: ~{{ calculateEta(veh, departureModalCall) }} min
{{ calculateDistanceKm(veh, departureModalCall) }} km
{{ selectedVehiclesForDeparture.length }} engin(s) sélectionné(s)
{{ activeIncidentDetails.code }} {{ activeIncidentDetails.category }} {{ activeIncidentDetails.statusLabel }}
Motif :
{{ activeIncidentDetails.motifTitle }}
Localisation :
{{ activeIncidentDetails.address }}, {{ activeIncidentDetails.commune }}
🚨 MESSAGE D'AMBIANCE / APPEL RENFORT DU COS
URGENT TERRAIN

"{{ activeIncidentDetails.sitrepAlert.message }}"

Vecteur préconisé : {{ activeIncidentDetails.sitrepAlert.suggestedVehicleType }}
Moyens sur l'Opération :
{{ getVehicleIcon(getVehicleById(vehId)?.type) }} {{ getVehicleName(vehId) }}
{{ getVehicleById(vehId)?.status }}
Transmettre un compte-rendu radio (SGO / Antarès) :
Chronologie Opérationnelle :
[{{ entry.time }}] {{ entry.text }}
🚒

Renforts Opérationnels SDIS / SAMU

Opération {{ reinforcementsModalIncident.code }} : {{ reinforcementsModalIncident.motifTitle }}

Secteur de l'incident : {{ reinforcementsModalIncident.commune }} {{ getAvailableReinforcementVehicles(reinforcementsModalIncident).length }} engin(s) disponible(s)
Aucun engin supplémentaire n'est disponible en garnison actuellement sur le secteur.
{{ getVehicleIcon(veh.type) }}
{{ veh.name }} {{ getStationName(veh.stationId) }}
{{ veh.crew }} SP • Spécialité : {{ veh.speciality }}
ETA ~{{ calculateEta(veh, reinforcementsModalIncident) }} min
{{ calculateDistanceKm(veh, reinforcementsModalIncident) }} km
🎯

Missions & Quêtes Opérationnelles de Garde

{{ completedQuestsCount }} / {{ dailyQuests.length }} VALIDÉES

Objectifs de vacation • Richesse doctrinale, rapidité et zéro décès

⭐ Accomplissez vos missions pour engranger de l'XP et monter en grade opérationnel.
{{ currentUser.xp }} XP
{{ quest.icon }}
{{ quest.title }} ✓ COMPLÉTÉE EN COURS
{{ quest.desc }}
+{{ quest.xpReward }} XP
Progression {{ quest.current }} / {{ quest.target }}
Garde opérationnelle en cours • SDIS 35 / SAMU 15
📑

Dossier d'Opération Archivé : {{ selectedHistoryIncident.code }}

{{ selectedHistoryIncident.motif }} - {{ selectedHistoryIncident.commune }}

Catégorie : {{ selectedHistoryIncident.category }}
Commune : {{ selectedHistoryIncident.commune }}
Durée opération : {{ Math.floor((selectedHistoryIncident.durationSeconds || 0) / 60) }} min {{(selectedHistoryIncident.durationSeconds || 0) % 60}} s
Horodatage : {{ new Date(selectedHistoryIncident.timestamp).toLocaleString('fr-FR') }}
Moyens Dépêchés :
🚒 {{ v }}
Journal & Bilan Opérationnel :
{{ selectedHistoryIncident.notes || 'Opération nominale.' }}
🎓

Centre de Formation & Doctrine CTA / CRRA

Évaluation continue des connaissances opérationnelles (ENSOSP / RGO)

Question {{ currentQuizIndex + 1 }} / {{ QUIZ_QUESTIONS.length }} Score : {{ quizScore }} pts
{{ currentQuizQuestion.question }}
Doctrine Opérationnelle :

{{ currentQuizQuestion.explanation }}

🎖️

Évaluation Doctrinale Terminée !

Votre score : {{ quizScore }} / {{ QUIZ_QUESTIONS.length * 50 }} pts

Badge Diplômé ENSOSP validé avec mention. Vos connaissances doctrinales garantissent la rigueur des départs opérationnels.
{{ getVehicleIcon(selectedVehicleDetails.type) }}

{{ selectedVehicleDetails.name }}

{{ selectedVehicleDetails.status }}

{{ getStationName(selectedVehicleDetails.stationId) }} • {{ selectedVehicleDetails.speciality }}

Opération en cours : {{ selectedVehicleDetails.currentIncidentCode }} En garnison (Disponible)
Effectif opérationnel : {{ selectedVehicleDetails.crew }} Sapeurs-Pompiers
Canal Tactique Antarès : TAC-{{ selectedVehicleDetails.type }} (SDIS {{ currentDeptCode }})
Armement & Rôles de l'équipage :
👤 Chef d'agrès : {{ getVehicleCrewRole(selectedVehicleDetails, 'chief') }}
🚚 Conducteur : {{ getVehicleCrewRole(selectedVehicleDetails, 'driver') }}
🦺 Équipier(s) : {{ getVehicleCrewRole(selectedVehicleDetails, 'team') }}
Inventaire & Matériel Opérationnel Embarqué :
📦 {{ eq }}
🚨

Plans d'Urgence Départementaux & Scénarios de Crise

Coordination CTA 18/112, CODIS & CRRA 15 en situation d'afflux massif

Sélectionnez un plan de secours à déclencher pour simuler une gestion de crise en temps réel. Ces scénarios testent votre réactivité face à des départs multiples et la saturation de vos engins.

🌪️ VIGILANCE ORANGE

Plan Intempéries & Tempête

Rafales de vent à 90 km/h. Chutes d'arbres, toitures arrachées et câbles électriques à terre. 3 appels simultanés.

🚑 AFFLUX MASSIF

Plan NOVI Autoroute

Carambolage géant impliquant 5 véhicules et un autocar. 6 victimes en urgence absolue nécessitant PMA et tri SINUS.

☣️ RISQUE SEVESO

Fuite Toxique Industrielle

Rupture de canalisation d'ammoniac en usine chimique. Nuage toxique dérivant. Engagement VIRT, FPT, et confinement.

🔥 PLAN DFCI

Feu de Forêt Menaçant

Départ violent dans le massif avec risque de saut de feu sur lotissement. Engagement de multiples CCF et appui aérien.

📊

Bilan d'Activité Opérationnelle 24h

{{ activeDepartment.name }} ({{ activeDepartment.code }}) • Poste CTA-CODIS 18/112 & SAMU 15

Appels Reçus
{{ stats.totalCalls }}
100% traités
Départs Ordonnés
{{ stats.totalIncidents }}
Missions SDIS
Avis CRRA 15
{{ stats.totalCrraTransfers }}
Régulation SAMU
Sauvetages
{{ currentUser.stats.rescuesCompleted }}
Succès terrain
Taux de Disponibilité Opérationnelle du Parc : {{ countVehiclesByStatus('DISPO') }} / {{ activeDepartment.vehicles.length }} engins ({{ Math.round((countVehiclesByStatus('DISPO') / (activeDepartment.vehicles.length || 1)) * 100) }}%)
🟢 Disponibles : {{ countVehiclesByStatus('DISPO') }} 🟠 En Intervention : {{ countVehiclesByStatus('ENGAGÉ') + countVehiclesByStatus('SUR_LIEUX') + countVehiclesByStatus('TRANSPORT') }}
Répartition Typologique des Secours (Référentiel DGSCGC) :
🚑 Secours d'Urgence aux Personnes (SAP) 78%
🔥 Incendies Urbains & Feux d'Espaces Naturels 11%
🚗 Accidents de la Circulation (AVP) 8%
⚡ Opérations Diverses & Sauvetages Spécialisés 3%
Délai Moyen Décroché
4.2 secondes
Conformité DGSCGC : 99.4%
Délai Mise en Route
1 min 15 sec
Objectif réglementaire < 3m
{{ currentRank.insignia }}

Dossier de Carrière : {{ currentRank.name }} {{ currentUser.name }}

NIVEAU {{ currentRank.level }}

Matricule : {{ currentUser.matricule }} • Centre CTA-CODIS / SAMU 15

Grade Actuel Homologué
{{ currentRank.insignia }} {{ currentRank.name }} ({{ currentRank.title }})
Expérience Opérationnelle
{{ currentUser.xp }} XP
Progression vers {{ nextRank ? nextRank.name : 'Niveau Maximal' }} {{ currentUser.xp }} / {{ nextRank.minXp }} XP ({{ xpProgressPercent }}%) GRADE SUPRÊME ATTEINT
Tableau d'Avancement des Sapeurs-Pompiers & CTA
{{ rank.insignia }} OBTENU ✓ {{ rank.minXp }} XP
{{ rank.name }}
{{ rank.title }}
Barème des Points d'Expérience (XP) :
• Décroché & Régulation initiale : +50 XP
• Transmission médicale CRRA 15 : +75 XP
• Départ ordonné des moyens SDIS : +100 XP
• Mission accomplie / Bilan SAUV : +150 XP
• Urgence vitale réanimée (ACR/IDM) : +250 XP
APPELS TRAITÉS
{{ currentUser.stats.callsHandled }}
VICTIMES SAUVÉES
{{ currentUser.stats.livesSaved || 0 }}
DÉCÈS CONSTATÉS (MALUS)
{{ currentUser.stats.deaths || 0 }}
DÉPARTS ÉCLAIR (<30s)
{{ currentUser.stats.fastDispatches || 0 }}
DÉPARTS ORDONNÉS (SDIS)
{{ currentUser.stats.incidentsDispatched }}
RÉGULATIONS CRRA 15
{{ currentUser.stats.crraTransfers }}
URGENCES VITALES
{{ currentUser.stats.vitalUrgentCalls }}
TRIAGES SANS SUITE (JUSTIFIÉS)
{{ currentUser.stats.callsRefusedProperly || 0 }}
QUÊTES DE GARDE ACCOMPLIES
{{ completedQuestsCount }} / {{ dailyQuests.length }}
Affectation Opérationnelle
Département de Rattachement :
{{ activeDepartment.name }}
Prise de Poste Initiale :
{{ currentUser.createdAt }}
Accomplissez des actes remarquables lors des régulations d'urgence pour débloquer les médailles officielles :
{{ badge.icon }}

{{ badge.name }}

DÉBLOQUÉ ✓ VERROUILLÉ

{{ badge.desc }}

Modifier l'Identité Opérateur
Changer de Profil ou Créer un Compte {{ profilesList.length }} compte(s) enregistré(s)
{{ getRankByXp(prof.xp).insignia }}
{{ prof.name }} ({{ prof.matricule }}) • {{ prof.xp }} XP
ACTIF ✓
🗄️ BASE DE DONNÉES SQLITE ACTIVE {{ sqliteStatus }}
Fichier base : data/dispatch.sqlite
Session : {{ currentUser.username }} (ID: {{ currentUser.id }}) • Dernier sync : {{ lastSyncTime || 'En direct' }}
Export / Import Fichier Externe
🛡️

Authentification Opérateur

Base de Données Locale : SQLite (dispatch.sqlite)

⚠️ {{ authError }}
💡 Compte initialisé dans la base SQLite : julien / pompier18
🔊

Paramètres Sonores & Synthèse Vocale

Bruitages officiels CTA 18/112 & CRRA 15 (100% Web Audio)

Volume Général du Poste : {{ soundVolume }}%
0% (Muet) 50% 100% (Maximum)
Canaux Audio Opérationnels
Banc de Test des Signaux Sonores
🏆

Tableau d'Honneur National des Opérateurs SQLITE

Classement officiel inter-départemental CTA-CODIS & CRRA 15

✕
🥈
2ème Rang
{{ leaderboardList[1].name }}
{{ leaderboardList[1].rankTitle }}
SDIS {{ leaderboardList[1].departmentCode }}
{{ leaderboardList[1].xp }} XP
CHAMPION
🥇
1er Rang
{{ leaderboardList[0].name }}
{{ leaderboardList[0].rankTitle }}
SDIS {{ leaderboardList[0].departmentCode }} • {{ leaderboardList[0].matricule }}
{{ leaderboardList[0].xp }} XP
🥉
3ème Rang
{{ leaderboardList[2].name }}
{{ leaderboardList[2].rankTitle }}
SDIS {{ leaderboardList[2].departmentCode }}
{{ leaderboardList[2].xp }} XP
{{ currentRank.insignia }} Votre Position : Rang #{{ myRankPosition || '?' }} {{ currentRank.name }} {{ currentUser.name }}
{{ currentUser.xp }} XP
Aucun opérateur trouvé pour cette recherche.
#{{ player.rankPosition }}
{{ player.rankInsignia || '👨‍🚒' }}
{{ player.name }} VOUS SDIS {{ player.departmentCode }}
{{ player.rankTitle }} • {{ player.matricule }}
{{ player.xp }} XP
Classement synchronisé avec SQLite ({{ leaderboardList.length }} opérateurs classés)
🤖

Centre d'Intelligence Opérationnelle CTA-IA SGO / RGO

Assistance décisionnelle en temps réel & Conseiller doctrinal de salle

Mode Supervision IA Autonome (Co-Régulateur) ARMÉ & ACTIF EN VEILLE

L'IA assiste la salle en analysant les urgences et en fournissant des bilans radio proactifs.

COUVERTURE SECTORIELLE
{{ aiSupervisionStats.coverageScore }}%
Norme opérationnelle atteinte
APPELS EN ATTENTE
{{ pendingCalls.length }}
File de décroché CTA
INTERVENTIONS ACTIVES
{{ activeIncidents.length }}
Moyens engagés
VECTEURS DISPONIBLES
{{ countVehiclesByStatus('DISPO') }}
Engins en caserne
📘 Conseiller Doctrinal de Régulation (RGO / SFMU) BASE DE CONNAISSANCES OFFICIELLE
Consulter un protocole en 1 clic :
{{ aiAdvisorResponse.topic }} {{ aiAdvisorResponse.doctrine }}

{{ aiAdvisorResponse.content }}

Vecteurs prescrits : {{ aiAdvisorResponse.recommendedVectors.join(' + ') }}
IA opérationnelle basée sur les doctrines SDIS & AFASH
🏥

Poste Médical Avancé (PMA) & Triage SINUS

PLAN NOVI

Opération : {{ currentSinusIncident.code }} - {{ currentSinusIncident.motifTitle }} ({{ currentSinusIncident.commune }})

Total Victimes
{{ sinusStats.total }}
🔴 UA (Absolue)
{{ sinusStats.ua }}
🟡 UR (Relative)
{{ sinusStats.ur }}
🟢 EU (Impliqué)
{{ sinusStats.eu }}
⚫ DCD (Décédé)
{{ sinusStats.dcd }}
🚑 Évacuées
{{ sinusStats.evacuated }} / {{ sinusStats.total }}
{{ sinusTriageFeedback.isCorrect ? '✅' : '⚠️' }} {{ sinusTriageFeedback.verdict }}
{{ sinusTriageFeedback.isCorrect ? '+35 XP' : '-15 XP' }}
{{ vic.sinusId }} {{ vic.name }} ({{ vic.age }} ans, {{ vic.gender === 'F' ? 'Femme' : 'Homme' }})
✓ ADMISE AUX URGENCES 🚑 EN TRANSIT VERS {{ vic.targetHospital }} AU PMA
Pouls radial
{{ vic.pulse }} bpm ({{ vic.radialPulsePresent ? 'Présent' : 'Absent / Choc' }})
Tension Artérielle
{{ vic.bp }} mmHg
Fréquence Respi
{{ vic.respRate }}/min
Saturation SpO2
{{ vic.spo2 }}%
Score Glasgow
{{ vic.glasgow }}/15 ({{ vic.canWalk ? 'Marcheur' : 'Non marcheur' }})
Lésions constatées : {{ vic.complaint }}
Catégorie SINUS :
Doctrine de Catastrophe : START & Régulation Médicale CRRA 15
🏢

Centres d'Incendie et de Secours (CIS) & Armement

{{ activeDepartment.name }} - Gestion des Casernes, Effectifs & Améliorations Matérielles

{{ st.type === 'SAMU' ? '🏥' : '🚒' }}

{{ st.name }}

{{ st.city }} • Secteur Opérationnel {{ activeDepartment.code }}
● GARDE ARMÉE 12 SPP • 8 SPV
Agrès Affectés :
{{ getVehicleIcon(veh.type) }} {{ veh.name }} {{ veh.status }}
Améliorations & Armement Spécialisé :
🛰️ Cartographie SIG 4G
+15% Vitesse de réponse tactique
🦺 Matériel Holmatro AVP
-25% Délai de désincarcération
🌡️ Caméra Thermique FLIR 4K
Reconnaissance thermique incendie
🐕 Cellule USAR & Drone
Détection décombres et effondrements
Améliorations synchronisées dans la base SQLite locale.