modif doc

This commit is contained in:
Pierre Marx
2025-09-04 12:33:46 -04:00
parent 3f21bc0465
commit ee038cedd8

View File

@@ -14,6 +14,7 @@ Ce document décrit le parcours complet d'un agent utilisant SimpleConnect, depu
``` ```
**Processus système** : **Processus système** :
- Connexion automatique au serveur SignalR (configuré dans `config.json`) - Connexion automatique au serveur SignalR (configuré dans `config.json`)
- Vérification de la disponibilité du service - Vérification de la disponibilité du service
- Récupération de la liste des terminaux téléphoniques disponibles - Récupération de la liste des terminaux téléphoniques disponibles
@@ -25,7 +26,8 @@ Ce document décrit le parcours complet d'un agent utilisant SimpleConnect, depu
### 2.1 Interface de connexion ### 2.1 Interface de connexion
L'agent arrive sur l'écran de connexion avec : L'agent arrive sur l'écran de connexion avec :
- Champ email
- Champ code agent
- Champ mot de passe - Champ mot de passe
- Sélecteur de terminal téléphonique (liste dynamique) - Sélecteur de terminal téléphonique (liste dynamique)
- Bouton de connexion - Bouton de connexion
@@ -63,6 +65,7 @@ AgentLogin(email, password, terminal) → Serveur SignalR
### 2.3 Post-connexion ### 2.3 Post-connexion
**Actions automatiques après connexion réussie** : **Actions automatiques après connexion réussie** :
1. Génération dynamique des onglets selon les centres assignés 1. Génération dynamique des onglets selon les centres assignés
2. Création des webviews pour chaque plateforme 2. Création des webviews pour chaque plateforme
3. Auto-connexion aux plateformes médicales (injection des credentials) 3. Auto-connexion aux plateformes médicales (injection des credentials)
@@ -78,6 +81,7 @@ AgentLogin(email, password, terminal) → Serveur SignalR
### 3.1 État disponible ### 3.1 État disponible
**L'agent est prêt à recevoir des appels** : **L'agent est prêt à recevoir des appels** :
- Statut : indicateur vert "Disponible" - Statut : indicateur vert "Disponible"
- Peut naviguer librement entre les onglets - Peut naviguer librement entre les onglets
- Peut consulter les plannings de manière proactive - Peut consulter les plannings de manière proactive
@@ -102,12 +106,13 @@ AgentLogin(email, password, terminal) → Serveur SignalR
#### Actions système #### Actions système
**Notification immédiate** : **Notification immédiate** :
```javascript ```javascript
// Alerte visuelle // Alerte visuelle
showIncomingCallAlert({ showIncomingCallAlert({
centreName: "Centre Cardio Lyon", centreName: "Centre Cardio Lyon",
patientInfo: "Marie LAMBERT - 0612345678", patientInfo: "Marie LAMBERT - 0612345678",
motif: "Consultation urgente" motif: "Consultation urgente",
}); });
// Son de notification // Son de notification
@@ -115,6 +120,7 @@ playNotificationSound();
``` ```
**Auto-acceptation** : **Auto-acceptation** :
- Timer de 3 secondes avant acceptation automatique - Timer de 3 secondes avant acceptation automatique
- Ou acceptation manuelle immédiate par l'agent - Ou acceptation manuelle immédiate par l'agent
@@ -122,13 +128,13 @@ playNotificationSound();
```javascript ```javascript
// Le système identifie le centre concerné // Le système identifie le centre concerné
selectCenter('centre1'); selectCenter("centre1");
// Bascule sur le bon onglet/webview // Bascule sur le bon onglet/webview
switchToTab('Centre Cardio Lyon'); switchToTab("Centre Cardio Lyon");
// Mise à jour du statut // Mise à jour du statut
updateStatus('EN APPEL - Centre Cardio Lyon'); updateStatus("EN APPEL - Centre Cardio Lyon");
``` ```
### 3.3 Pendant l'appel ### 3.3 Pendant l'appel
@@ -136,11 +142,13 @@ updateStatus('EN APPEL - Centre Cardio Lyon');
**Actions possibles de l'agent** : **Actions possibles de l'agent** :
1. **Prise de RDV** : 1. **Prise de RDV** :
- Navigation dans le planning actif - Navigation dans le planning actif
- Recherche de créneaux disponibles - Recherche de créneaux disponibles
- Validation du RDV directement dans la webview - Validation du RDV directement dans la webview
2. **Prise de notes** : 2. **Prise de notes** :
```javascript ```javascript
// Zone de notes rapides // Zone de notes rapides
quickNotes.value = "Patient souhaite mardi matin de préférence"; quickNotes.value = "Patient souhaite mardi matin de préférence";
@@ -148,6 +156,7 @@ updateStatus('EN APPEL - Centre Cardio Lyon');
``` ```
3. **Consultation documentation** : 3. **Consultation documentation** :
```javascript ```javascript
// Ouverture wiki interne (nouvelle fenêtre) // Ouverture wiki interne (nouvelle fenêtre)
OpenDoc("http://wiki.interne/protocoles"); OpenDoc("http://wiki.interne/protocoles");
@@ -181,7 +190,7 @@ updateStatus('EN APPEL - Centre Cardio Lyon');
```javascript ```javascript
// Mise à jour automatique // Mise à jour automatique
updateStatus('DISPONIBLE'); updateStatus("DISPONIBLE");
callStats.calls++; callStats.calls++;
callStats.appointments++; // Si RDV pris callStats.appointments++; // Si RDV pris
@@ -191,7 +200,7 @@ saveCallHistory({
duration: 180, // secondes duration: 180, // secondes
centre: "centre1", centre: "centre1",
status: "completed", status: "completed",
appointment: true appointment: true,
}); });
``` ```
@@ -202,18 +211,19 @@ saveCallHistory({
```javascript ```javascript
// L'agent peut gérer plusieurs centres simultanément // L'agent peut gérer plusieurs centres simultanément
centres = [ centres = [
{ id: 'centre1', nom: 'Centre Cardio Lyon', couleur: '#FF6B6B' }, { id: "centre1", nom: "Centre Cardio Lyon", couleur: "#FF6B6B" },
{ id: 'centre2', nom: 'Clinique Saint-Jean', couleur: '#4ECDC4' }, { id: "centre2", nom: "Clinique Saint-Jean", couleur: "#4ECDC4" },
{ id: 'centre3', nom: 'Cabinet Dr Martin', couleur: '#45B7D1' } { id: "centre3", nom: "Cabinet Dr Martin", couleur: "#45B7D1" },
]; ];
// Navigation libre entre les onglets (hors appel) // Navigation libre entre les onglets (hors appel)
selectCenter('centre2'); // Changement manuel selectCenter("centre2"); // Changement manuel
``` ```
### 4.2 Outils de productivité ### 4.2 Outils de productivité
**Statistiques temps réel** : **Statistiques temps réel** :
```javascript ```javascript
{ {
calls: 15, // Appels traités aujourd'hui calls: 15, // Appels traités aujourd'hui
@@ -224,12 +234,13 @@ selectCenter('centre2'); // Changement manuel
``` ```
**Notes et historique** : **Notes et historique** :
```javascript ```javascript
// Notes rapides par appel // Notes rapides par appel
saveNotes({ saveNotes({
content: "Patient à rappeler pour confirmation", content: "Patient à rappeler pour confirmation",
centre: "centre1", centre: "centre1",
timestamp: new Date() timestamp: new Date(),
}); });
// Consultation historique // Consultation historique
@@ -241,14 +252,16 @@ getCallHistory(); // 100 derniers appels
```javascript ```javascript
// Documentation (DocXplore) // Documentation (DocXplore)
childClientDocXplore = new BrowserWindow({ childClientDocXplore = new BrowserWindow({
x: 1920, y: 0, // Position configurée x: 1920,
title: "SimpleConnect / Wiki" y: 0, // Position configurée
title: "SimpleConnect / Wiki",
}); });
// Informations client // Informations client
childClientDoc = new BrowserWindow({ childClientDoc = new BrowserWindow({
x: 2880, y: 0, // Position configurée x: 2880,
title: "SimpleConnect / Infos client" y: 0, // Position configurée
title: "SimpleConnect / Infos client",
}); });
``` ```
@@ -257,6 +270,7 @@ childClientDoc = new BrowserWindow({
### 5.1 Déclenchement ### 5.1 Déclenchement
La déconnexion peut être initiée par : La déconnexion peut être initiée par :
- Clic sur le bouton "Déconnexion" - Clic sur le bouton "Déconnexion"
- Fermeture de l'application (croix de fenêtre) - Fermeture de l'application (croix de fenêtre)
- Timeout de session (si configuré) - Timeout de session (si configuré)
@@ -265,7 +279,7 @@ La déconnexion peut être initiée par :
```javascript ```javascript
// Dialogue de confirmation // Dialogue de confirmation
if (confirm('Voulez-vous vraiment vous déconnecter ?')) { if (confirm("Voulez-vous vraiment vous déconnecter ?")) {
// 1. Notification au serveur // 1. Notification au serveur
AgentLogoff(agentId); AgentLogoff(agentId);
@@ -280,12 +294,12 @@ if (confirm('Voulez-vous vraiment vous déconnecter ?')) {
// 4. Génération log final // 4. Génération log final
writeDashboardLog({ writeDashboardLog({
"PrestaConnect": { PrestaConnect: {
"Connexion": { Connexion: {
"Connecte": "Non", Connecte: "Non",
"Date_Deconnexion": new Date().toISOString() Date_Deconnexion: new Date().toISOString(),
} },
} },
}); });
// 5. Retour page connexion ou fermeture // 5. Retour page connexion ou fermeture
@@ -425,7 +439,7 @@ ctiSimulator.simulateScenarios():
```javascript ```javascript
// Identification par priorité haute // Identification par priorité haute
if (callData.priority === 'high') { if (callData.priority === "high") {
// Notification visuelle renforcée // Notification visuelle renforcée
showUrgentCallAlert(callData); showUrgentCallAlert(callData);
// Son différent // Son différent
@@ -442,7 +456,7 @@ if (callData.priority === 'high') {
if (callData.lastVisit) { if (callData.lastVisit) {
showPatientHistory({ showPatientHistory({
lastVisit: callData.lastVisit, lastVisit: callData.lastVisit,
appointments: callData.appointmentHistory appointments: callData.appointmentHistory,
}); });
} }
``` ```