# SimpleConnect - Application de Gestion Centralisée des Plannings Médicaux 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 ### Gestion centralisée - **Connexion unique** : Authentification centralisée avec sélection du terminal téléphonique - **Multi-centres** : Accès simultané à plusieurs plateformes (Doctolib, MonDocteur, etc.) - **Navigation par onglets** : Bascule rapide entre les différents centres assignés - **Sessions isolées** : Connexions automatiques et indépendantes pour chaque centre ### 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 - Node.js version 16 ou supérieure - npm ou yarn - Windows, macOS ou Linux ### Installation rapide ```bash # Cloner le repository git clone https://github.com/simpleconnect/electron-app.git cd simpleconnect-electron # Installer les dépendances npm install # Lancer l'application npm start ``` ### Scripts disponibles ```bash 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 ### Fichier config.json ```json { "signalR": { "enabled": true, "serverUrl": "http://votre-serveur-signalr:8080/planningHub", "reconnectInterval": 5000 } } ``` ### Variables d'environnement - `NODE_ENV=development` : Active le mode développement avec DevTools ## 📱 Utilisation ### 1. Connexion agent 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 ### 2. Interface principale - **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 ### 3. Gestion des appels 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 ## 🏗️ 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 ### Structure du projet ``` simpleconnect-electron/ ├── main.js # Process principal Electron et gestion SignalR ├── renderer.js # Interface utilisateur et gestion des webviews ├── index.html # Structure HTML de l'application ├── styles-modern.css # Styles CSS modernes avec gradients ├── config.json # Configuration SignalR et paramètres ├── docs/ │ ├── changelog.md # Historique des versions │ ├── 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 ``` ### Communication IPC Principaux canaux : - `agent-login` : Authentification via SignalR - `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 ## 🔒 Sécurité - **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 ## 📊 Versions ### Version actuelle : 1.2.15 Voir [changelog.md](docs/changelog.md) pour l'historique complet des versions. ### 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 ## 🐛 Dépannage ### Problèmes courants 1. **SignalR ne se connecte pas** : - Vérifier l'URL du serveur dans config.json - Vérifier la connexion réseau - Consulter les logs de la console (mode dev) 2. **Session bloquée** : - Utiliser l'option "Forcer la déconnexion" - Redémarrer l'application si nécessaire 3. **Webviews ne se chargent pas** : - Vérifier la connexion internet - Vérifier les URLs des centres dans la configuration serveur - Mode développement pour voir les erreurs console ## 🚧 Roadmap - [ ] 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