docs: Mise à jour du README.md vers la version 1.4.1
- Mise à jour de la version actuelle (1.2.15 → 1.4.1) - Ajout de l'historique des versions 1.3.0, 1.3.1, 1.4.0 et 1.4.1 - Documentation du support dual SignalR/WebSocket avec fallback automatique - Ajout des nouveaux fichiers connection-manager.js et websocket-adapter.js - Mise à jour de la stack technologique (socket.io-client 4.8.1) - Correction des canaux IPC (login-agent, get-terminal-list) - Ajout de nouveaux canaux (get-app-version, switch-to-center, release-center) - Documentation du logging détaillé dans ~/.simpleconnect-ng/signalr.log - Enrichissement de la section dépannage (5 scénarios au lieu de 3) - Correction "Débloquer" au lieu de "Forcer la déconnexion" - Ajout de la saisie manuelle des postes téléphoniques - Suppression des références aux fichiers de documentation inexistants Le README.md reflète maintenant fidèlement l'état du code en version 1.4.1.
This commit is contained in:
85
README.md
85
README.md
@@ -11,9 +11,9 @@ Application Electron destinée aux centres d'appels médicaux pour la gestion un
|
|||||||
- **Sessions isolées** : Connexions automatiques et indépendantes pour chaque centre
|
- **Sessions isolées** : Connexions automatiques et indépendantes pour chaque centre
|
||||||
|
|
||||||
### Intégration CTI (Computer Telephony Integration)
|
### Intégration CTI (Computer Telephony Integration)
|
||||||
- **Connexion SignalR** : Communication temps réel avec le serveur IPBX
|
- **Connexion SignalR/WebSocket** : Communication temps réel avec le serveur IPBX avec fallback automatique
|
||||||
- **Gestion des appels entrants** : Notifications et bascule automatique vers le bon centre
|
- **Gestion des appels entrants** : Notifications et bascule automatique vers le bon centre
|
||||||
- **Terminaux téléphoniques** : Sélection dynamique du poste lors de la connexion
|
- **Terminaux téléphoniques** : Sélection dynamique ou saisie manuelle du poste lors de la connexion
|
||||||
- **Événements IPBX** : Support complet des événements téléphoniques (sonnerie, décrochage, raccrochage)
|
- **Événements IPBX** : Support complet des événements téléphoniques (sonnerie, décrochage, raccrochage)
|
||||||
|
|
||||||
### Outils de productivité
|
### Outils de productivité
|
||||||
@@ -83,8 +83,9 @@ npm run build:linux # Builder pour Linux
|
|||||||
3. **Saisir les identifiants** :
|
3. **Saisir les identifiants** :
|
||||||
- Code agent
|
- Code agent
|
||||||
- Mot de passe
|
- Mot de passe
|
||||||
- Sélection du terminal téléphonique
|
- Sélection ou saisie manuelle du terminal téléphonique
|
||||||
4. **Option "Forcer la déconnexion"** si session bloquée
|
4. **Option "Débloquer"** si session bloquée
|
||||||
|
5. **Bouton "Quitter"** pour fermer l'application sans se connecter
|
||||||
|
|
||||||
### 2. Interface principale
|
### 2. Interface principale
|
||||||
|
|
||||||
@@ -118,74 +119,114 @@ npm run build:linux # Builder pour Linux
|
|||||||
### Stack technologique
|
### Stack technologique
|
||||||
- **Frontend** : HTML5, CSS3, JavaScript ES6+
|
- **Frontend** : HTML5, CSS3, JavaScript ES6+
|
||||||
- **Framework** : Electron 28.0.0
|
- **Framework** : Electron 28.0.0
|
||||||
- **Communication temps réel** : SignalR (@microsoft/signalr 9.0.6)
|
- **Communication temps réel** :
|
||||||
- **UI Components** : Choices.js pour les selects personnalisés
|
- SignalR (@microsoft/signalr 9.0.6)
|
||||||
|
- WebSocket avec fallback automatique (socket.io-client 4.8.1)
|
||||||
|
- ConnectionManager pour basculement transparent
|
||||||
|
- **UI Components** : Choices.js 11.1.0 pour les selects personnalisés
|
||||||
- **Stockage** : Fichiers JSON locaux + localStorage
|
- **Stockage** : Fichiers JSON locaux + localStorage
|
||||||
|
|
||||||
### Structure du projet
|
### Structure du projet
|
||||||
|
|
||||||
```
|
```
|
||||||
simpleconnect-electron/
|
simpleconnect-electron/
|
||||||
├── main.js # Process principal Electron et gestion SignalR
|
├── main.js # Process principal Electron et gestion SignalR/WebSocket
|
||||||
├── renderer.js # Interface utilisateur et gestion des webviews
|
├── renderer.js # Interface utilisateur et gestion des webviews
|
||||||
|
├── connection-manager.js # Gestionnaire de connexion avec fallback automatique
|
||||||
|
├── websocket-adapter.js # Adaptateur SocketIO émulant l'API SignalR
|
||||||
├── index.html # Structure HTML de l'application
|
├── index.html # Structure HTML de l'application
|
||||||
├── styles-modern.css # Styles CSS modernes avec gradients
|
├── styles-modern.css # Styles CSS modernes avec gradients
|
||||||
├── config.json # Configuration SignalR et paramètres
|
├── config.json # Configuration SignalR et paramètres
|
||||||
├── docs/
|
├── docs/
|
||||||
│ ├── changelog.md # Historique des versions
|
│ └── changelog.md # Historique complet des versions
|
||||||
│ ├── WORKFLOW_AGENT.md # Documentation du workflow complet
|
|
||||||
│ └── INTEGRATION_SIGNALR.md # Guide d'intégration SignalR
|
|
||||||
├── notes/ # Dossier de stockage des notes agents
|
├── notes/ # Dossier de stockage des notes agents
|
||||||
└── package.json # Dépendances et métadonnées
|
└── package.json # Dépendances et métadonnées
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Communication IPC
|
### Communication IPC
|
||||||
|
|
||||||
Principaux canaux :
|
Principaux canaux :
|
||||||
- `agent-login` : Authentification via SignalR
|
- `login-agent` : Authentification via SignalR/WebSocket
|
||||||
- `logout` / `quit-app` : Déconnexion et fermeture
|
- `logout` / `quit-app` : Déconnexion et fermeture
|
||||||
- `get-terminals` : Liste des terminaux disponibles
|
- `get-terminal-list` : Liste des terminaux disponibles
|
||||||
- `save-notes` / `get-notes` : Gestion des notes
|
- `save-notes` / `get-notes` : Gestion des notes
|
||||||
- `signalr-status` : État de la connexion temps réel
|
- `signalr-status` : État de la connexion temps réel
|
||||||
|
- `get-app-version` : Récupération de la version de l'application
|
||||||
|
- `switch-to-center` / `release-center` : Événements IPBX pour la gestion des appels
|
||||||
|
|
||||||
## 🔒 Sécurité
|
## 🔒 Sécurité
|
||||||
|
|
||||||
- **Isolation des sessions** : Partition Electron par centre
|
- **Isolation des sessions** : Partition Electron par centre
|
||||||
- **Connexion SignalR sécurisée** : Support HTTPS/WSS
|
- **Connexion sécurisée** : Support HTTPS/WSS pour SignalR et WebSocket
|
||||||
- **Pas de stockage de mots de passe** : Authentification directe serveur
|
- **Pas de stockage de mots de passe** : Authentification directe serveur
|
||||||
- **Notes chiffrées** : Stockage local sécurisé par agent
|
- **Logging détaillé** : Tous les événements SignalR dans `~/.simpleconnect-ng/signalr.log`
|
||||||
|
|
||||||
## 📊 Versions
|
## 📊 Versions
|
||||||
|
|
||||||
### Version actuelle : 1.2.15
|
### Version actuelle : 1.4.1
|
||||||
|
|
||||||
Voir [changelog.md](docs/changelog.md) pour l'historique complet des versions.
|
Voir [changelog.md](docs/changelog.md) pour l'historique complet des versions.
|
||||||
|
|
||||||
### Dernières nouveautés
|
### Dernières nouveautés
|
||||||
- Bouton "Quitter" avec fermeture complète de l'application
|
|
||||||
|
#### v1.4.1 (2025-10-21)
|
||||||
|
- Bouton "Quitter" sur la page de connexion pour fermer l'application sans se connecter
|
||||||
|
- Style secondaire pour différenciation visuelle du bouton principal
|
||||||
|
|
||||||
|
#### v1.4.0 (2025-10-21)
|
||||||
|
- Affichage de la version dans l'interface (page de login et header principal)
|
||||||
|
- Version affichée dans la barre de titre native : "SimpleConnect vX.X.X"
|
||||||
|
|
||||||
|
#### v1.3.1 (2025-10-17)
|
||||||
|
- Saisie manuelle de postes téléphoniques personnalisés
|
||||||
|
- Validation de format numérique avec avertissement non-bloquant
|
||||||
|
- Affichage simplifié des terminaux (sans préfixe "Poste")
|
||||||
|
- Amélioration du contraste de l'élément survolé dans la liste déroulante
|
||||||
|
|
||||||
|
#### v1.3.0 (2025-09-12)
|
||||||
|
- Support dual SignalR/SocketIO avec fallback automatique
|
||||||
|
- Compatibilité totale avec backends .NET et Python
|
||||||
|
- ConnectionManager qui essaie SignalR puis bascule sur SocketIO
|
||||||
|
- WebSocketAdapter émulant l'API SignalR complète
|
||||||
|
|
||||||
|
#### v1.2.x
|
||||||
- Panneau de notes redimensionnable avec sauvegarde automatique
|
- Panneau de notes redimensionnable avec sauvegarde automatique
|
||||||
- Système de persistance amélioré avec historique
|
- Système de persistance amélioré avec historique (50 versions)
|
||||||
- Interface moderne avec animations fluides
|
- Interface moderne avec animations fluides
|
||||||
|
- Logging complet des événements SignalR
|
||||||
|
|
||||||
## 🐛 Dépannage
|
## 🐛 Dépannage
|
||||||
|
|
||||||
### Problèmes courants
|
### Problèmes courants
|
||||||
|
|
||||||
1. **SignalR ne se connecte pas** :
|
1. **SignalR/WebSocket ne se connecte pas** :
|
||||||
- Vérifier l'URL du serveur dans config.json
|
- Vérifier l'URL du serveur dans config.json
|
||||||
- Vérifier la connexion réseau
|
- Vérifier la connexion réseau
|
||||||
- Consulter les logs de la console (mode dev)
|
- Consulter les logs dans `~/.simpleconnect-ng/signalr.log`
|
||||||
|
- L'application bascule automatiquement sur WebSocket si SignalR échoue
|
||||||
|
- Mode développement (`npm run dev`) pour voir les erreurs console
|
||||||
|
|
||||||
2. **Session bloquée** :
|
2. **Session bloquée** :
|
||||||
- Utiliser l'option "Forcer la déconnexion"
|
- Utiliser l'option "Débloquer" sur la page de connexion
|
||||||
|
- Cette option force la déconnexion de la session précédente
|
||||||
- Redémarrer l'application si nécessaire
|
- Redémarrer l'application si nécessaire
|
||||||
|
|
||||||
3. **Webviews ne se chargent pas** :
|
3. **Poste téléphonique personnalisé non reconnu** :
|
||||||
|
- Le système affiche un avertissement mais accepte tout numéro valide
|
||||||
|
- Vérifier que le poste est bien numérique (ex: 3001)
|
||||||
|
- Le serveur valide la disponibilité du terminal
|
||||||
|
|
||||||
|
4. **Webviews ne se chargent pas** :
|
||||||
- Vérifier la connexion internet
|
- Vérifier la connexion internet
|
||||||
- Vérifier les URLs des centres dans la configuration serveur
|
- Vérifier les URLs des centres dans la configuration serveur
|
||||||
|
- Utiliser le bouton Rafraîchir dans le header pour recharger la webview
|
||||||
- Mode développement pour voir les erreurs console
|
- Mode développement pour voir les erreurs console
|
||||||
|
|
||||||
|
5. **Notes non sauvegardées** :
|
||||||
|
- Vérifier que le dossier `notes/` existe et est accessible
|
||||||
|
- La sauvegarde automatique se déclenche après 2 secondes d'inactivité
|
||||||
|
- Les notes sont aussi sauvegardées dans localStorage comme backup
|
||||||
|
|
||||||
## 🚧 Roadmap
|
## 🚧 Roadmap
|
||||||
|
|
||||||
- [ ] Support multi-langues
|
- [ ] Support multi-langues
|
||||||
|
|||||||
Reference in New Issue
Block a user