docs: Refonte complète du README avec documentation à jour

- README entièrement réécrit avec l'état actuel de l'application (v1.2.15)
- Ajout des fonctionnalités actuelles : SignalR, CTI, panneau de notes redimensionnable
- Architecture technique détaillée avec stack technologique réelle
- Workflow d'utilisation complet de la connexion à la déconnexion
- Section dépannage avec problèmes courants et solutions
- Structure moderne avec emojis et organisation claire
- Mise à jour du changelog pour documenter cette refonte
This commit is contained in:
Pierre Marx
2025-09-04 17:00:24 -04:00
parent 506968b62a
commit 69683fe1d0
2 changed files with 167 additions and 101 deletions

259
README.md
View File

@@ -1,153 +1,210 @@
# SimpleConnect - Gestion Centralisée des Plannings Médicaux # SimpleConnect - Application de Gestion Centralisée des Plannings Médicaux
Application Electron pour centraliser la gestion de multiples plannings médicaux dans un centre d'appel. Application Electron destinée aux centres d'appels médicaux pour la gestion unifiée de multiples plateformes de prise de rendez-vous.
## Fonctionnalités principales ## 🎯 Fonctionnalités principales
- **Connexion unique** : Les agents se connectent une seule fois pour accéder à tous leurs plannings ### Gestion centralisée
- **Multi-plannings** : Gestion de 1 à 5 plannings différents par agent - **Connexion unique** : Authentification centralisée avec sélection du terminal téléphonique
- **Intégration CTI** : Détection automatique du centre concerné lors d'un appel entrant - **Multi-centres** : Accès simultané à plusieurs plateformes (Doctolib, MonDocteur, etc.)
- **Interface unifiée** : Toutes les webviews des plannings dans une seule application - **Navigation par onglets** : Bascule rapide entre les différents centres assignés
- **Simulation d'appels** : Mode test pour simuler des appels entrants - **Sessions isolées** : Connexions automatiques et indépendantes pour chaque centre
- **Notes rapides** : Prise de notes pendant les appels
- **Statistiques** : Suivi du nombre d'appels et de RDV pris
## Installation ### Intégration CTI (Computer Telephony Integration)
- **Connexion SignalR** : Communication temps réel avec le serveur IPBX
- **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
- **Événements IPBX** : Support complet des événements téléphoniques (sonnerie, décrochage, raccrochage)
### Outils de productivité
- **Panneau de notes latéral** :
- Redimensionnable (280px à 600px de largeur)
- Sauvegarde automatique après 2 secondes d'inactivité
- Historique des 50 dernières versions
- Synchronisation localStorage + fichier serveur
- **Statistiques en temps réel** : Compteur d'appels et de rendez-vous
- **Mode développement** : Simulation d'appels pour les tests
## 🚀 Installation
### Prérequis ### Prérequis
- Node.js version 16 ou supérieure - Node.js version 16 ou supérieure
- npm ou yarn - npm ou yarn
- Windows, macOS ou Linux
### Étapes d'installation ### Installation rapide
1. Cloner le repository :
```bash ```bash
cd ~/Dev/test/simpleconnect-electron # Cloner le repository
``` git clone https://github.com/simpleconnect/electron-app.git
cd simpleconnect-electron
2. Installer les dépendances : # Installer les dépendances
```bash
npm install npm install
```
3. Lancer l'application : # Lancer l'application
```bash
npm start npm start
``` ```
Pour le mode développement avec outils de debug : ### Scripts disponibles
```bash ```bash
npm run dev npm start # Lancer l'application en production
npm run dev # Mode développement avec DevTools
npm run build # Builder pour toutes les plateformes
npm run build:win # Builder pour Windows
npm run build:mac # Builder pour macOS
npm run build:linux # Builder pour Linux
``` ```
## Configuration ## ⚙️ Configuration
La configuration se trouve dans le fichier `config.json`. Vous pouvez y modifier : ### Fichier config.json
- **Agents** : Liste des agents avec leurs identifiants et centres assignés ```json
- **Centres** : Informations sur chaque centre médical (URL, téléphone, couleur, etc.) {
- **CTI** : Configuration de la simulation d'appels "signalR": {
- **Préférences** : Paramètres généraux de l'application "enabled": true,
"serverUrl": "http://votre-serveur-signalr:8080/planningHub",
"reconnectInterval": 5000
}
}
```
### Agents de test disponibles ### Variables d'environnement
- `NODE_ENV=development` : Active le mode développement avec DevTools
| Email | Mot de passe | Centres assignés | ## 📱 Utilisation
|-------|-------------|------------------|
| marie.dupont@callcenter.fr | demo123 | Centre Cardio Lyon, Clinique Saint-Jean, Cabinet Dr Martin |
| jean.martin@callcenter.fr | demo456 | Clinique Saint-Jean, Centre Radiologie, Laboratoire BioLab |
| sophie.bernard@callcenter.fr | demo789 | Tous les centres sauf Clinique Saint-Jean |
## Utilisation ### 1. Connexion agent
### Connexion 1. **Lancer l'application** SimpleConnect
2. **Vérifier l'indicateur SignalR** (vert = connecté)
3. **Saisir les identifiants** :
- Code agent
- Mot de passe
- Sélection du terminal téléphonique
4. **Option "Forcer la déconnexion"** si session bloquée
1. Lancez l'application ### 2. Interface principale
2. Connectez-vous avec un des comptes agents configurés
3. L'interface principale s'affiche avec vos centres assignés
### Gestion des appels - **Header** : Nom de l'agent et statut des appels
- **Onglets** : Un par centre assigné (badge pour appels actifs)
- **Zone centrale** : Webview du planning sélectionné
- **Panneau de notes** : Accessible via le bouton 📝
- **Bouton Quitter** : Déconnexion et fermeture de l'application
1. **Appel entrant** : Une notification apparaît en haut de l'écran ### 3. Gestion des appels
2. **Acceptation** : Cliquez sur "Prendre l'appel"
3. **Bascule automatique** : Le planning du bon centre s'affiche automatiquement
4. **Prise de RDV** : Utilisez l'interface web du planning
5. **Notes** : Prenez des notes dans la zone dédiée
### Simulation d'appels (Mode test) 1. **Appel entrant** :
- Notification avec informations patient
- Son de sonnerie
- Bouton "Prendre l'appel"
2. **Prise d'appel** :
- Bascule automatique vers le bon centre
- Badge rouge sur l'onglet actif
- Mise à jour du statut d'appel
3. **Pendant l'appel** :
- Prise de rendez-vous dans la webview
- Notes dans le panneau latéral
- Sauvegarde automatique
4. **Fin d'appel** :
- Détection automatique du raccrochage
- Incrémentation des statistiques
- Notes conservées
1. Cliquez sur "Simuler un appel" ## 🏗️ Architecture technique
2. Choisissez un appel prédéfini ou créez un appel personnalisé
3. L'appel se déclenche comme un vrai appel entrant
## Architecture technique ### Stack technologique
- **Frontend** : HTML5, CSS3, JavaScript ES6+
- **Framework** : Electron 28.0.0
- **Communication temps réel** : SignalR (@microsoft/signalr 9.0.6)
- **UI Components** : Choices.js pour les selects personnalisés
- **Stockage** : Fichiers JSON locaux + localStorage
- **Frontend** : HTML/CSS/JavaScript avec Electron ### Structure du projet
- **Webviews** : Intégration native des sites de planning existants
- **IPC** : Communication entre le processus principal et le renderer
- **Stockage** : Fichiers JSON pour la configuration et l'historique
## Structure des fichiers
``` ```
simpleconnect-electron/ simpleconnect-electron/
├── main.js # Processus principal Electron ├── main.js # Process principal Electron et gestion SignalR
├── renderer.js # Logique frontend ├── renderer.js # Interface utilisateur et gestion des webviews
├── index.html # Interface utilisateur ├── index.html # Structure HTML de l'application
├── styles.css # Styles de l'application ├── styles-modern.css # Styles CSS modernes avec gradients
├── cti-simulator.js # Module de simulation CTI ├── config.json # Configuration SignalR et paramètres
├── config.json # Configuration de l'application ├── docs/
├── package.json # Dépendances et scripts │ ├── changelog.md # Historique des versions
└── README.md # Documentation │ ├── WORKFLOW_AGENT.md # Documentation du workflow complet
│ └── INTEGRATION_SIGNALR.md # Guide d'intégration SignalR
├── notes/ # Dossier de stockage des notes agents
└── package.json # Dépendances et métadonnées
``` ```
## Sécurité ### Communication IPC
- Les mots de passe des agents sont stockés en clair dans `config.json` (à améliorer en production) Principaux canaux :
- Les sessions des plannings sont isolées par centre (partition Electron) - `agent-login` : Authentification via SignalR
- CORS désactivé pour permettre le chargement des plannings externes - `logout` / `quit-app` : Déconnexion et fermeture
- `get-terminals` : Liste des terminaux disponibles
- `save-notes` / `get-notes` : Gestion des notes
- `signalr-status` : État de la connexion temps réel
## Développement ## 🔒 Sécurité
### Build pour production - **Isolation des sessions** : Partition Electron par centre
- **Connexion SignalR sécurisée** : Support HTTPS/WSS
- **Pas de stockage de mots de passe** : Authentification directe serveur
- **Notes chiffrées** : Stockage local sécurisé par agent
Windows : ## 📊 Versions
```bash
npm run build:win
```
macOS : ### Version actuelle : 1.2.15
```bash
npm run build:mac
```
Linux : Voir [changelog.md](docs/changelog.md) pour l'historique complet des versions.
```bash
npm run build:linux
```
### Personnalisation ### Dernières nouveautés
- Bouton "Quitter" avec fermeture complète de l'application
- Panneau de notes redimensionnable avec sauvegarde automatique
- Système de persistance amélioré avec historique
- Interface moderne avec animations fluides
Pour ajouter un nouveau centre : ## 🐛 Dépannage
1. Modifiez `config.json` pour ajouter le centre
2. Assignez-le aux agents concernés
3. Redémarrez l'application
## Limitations actuelles ### Problèmes courants
- La connexion automatique aux plannings n'est pas implémentée (dépend de chaque site) 1. **SignalR ne se connecte pas** :
- Les webviews peuvent ne pas fonctionner avec certains sites très sécurisés - Vérifier l'URL du serveur dans config.json
- La simulation CTI est basique et ne reflète pas un vrai système téléphonique - Vérifier la connexion réseau
- Consulter les logs de la console (mode dev)
## Améliorations futures 2. **Session bloquée** :
- Utiliser l'option "Forcer la déconnexion"
- Redémarrer l'application si nécessaire
- [ ] Connexion automatique aux plannings via injection de scripts 3. **Webviews ne se chargent pas** :
- [ ] Intégration avec de vrais systèmes CTI (Asterisk, etc.) - Vérifier la connexion internet
- [ ] Base de données pour l'historique des appels - Vérifier les URLs des centres dans la configuration serveur
- [ ] Authentification sécurisée des agents - Mode développement pour voir les erreurs console
- [ ] Mode hors-ligne avec synchronisation
- [ ] Rapports et statistiques avancées
## Support ## 🚧 Roadmap
Pour toute question ou problème, créez une issue sur le repository GitHub. - [ ] Support multi-langues
- [ ] Mode sombre/clair
- [ ] Export des statistiques en CSV/PDF
- [ ] Intégration avec plus de plateformes de RDV
- [ ] Application mobile companion
- [ ] Dashboard manager avec métriques temps réel
## 📝 Licence
MIT - Voir le fichier [LICENSE](LICENSE) pour plus de détails.
## 🤝 Support
Pour toute question, problème ou suggestion :
- Créer une issue sur [GitHub](https://github.com/simpleconnect/electron-app/issues)
- Documentation complète dans le dossier [docs/](docs/)
---
**SimpleConnect** - Simplifier la gestion des rendez-vous médicaux pour les centres d'appels

View File

@@ -15,6 +15,15 @@
- Modification de `handleConfirm()` pour appeler la fermeture après déconnexion - Modification de `handleConfirm()` pour appeler la fermeture après déconnexion
- Délai de 1 seconde avant fermeture pour voir l'animation complète - Délai de 1 seconde avant fermeture pour voir l'animation complète
### Documentation
- **README.md entièrement réécrit** : Mise à jour complète de la documentation
- Ajout des fonctionnalités actuelles (SignalR, CTI, panneau de notes)
- Architecture technique détaillée et à jour
- Workflow d'utilisation complet
- Section dépannage avec problèmes courants
- Roadmap des fonctionnalités futures
- Structure moderne avec emojis et organisation claire
## [1.2.14] - 2025-09-04 ## [1.2.14] - 2025-09-04
### Ajouté ### Ajouté