# SimpleConnect - Gestion Centralisée des Plannings Médicaux Application Electron pour centraliser la gestion de multiples plannings médicaux dans un centre d'appel. ## Fonctionnalités principales - **Connexion unique** : Les agents se connectent une seule fois pour accéder à tous leurs plannings - **Multi-plannings** : Gestion de 1 à 5 plannings différents par agent - **Intégration CTI** : Détection automatique du centre concerné lors d'un appel entrant - **Interface unifiée** : Toutes les webviews des plannings dans une seule application - **Simulation d'appels** : Mode test pour simuler des appels entrants - **Notes rapides** : Prise de notes pendant les appels - **Statistiques** : Suivi du nombre d'appels et de RDV pris ## Installation ### Prérequis - Node.js version 16 ou supérieure - npm ou yarn ### Étapes d'installation 1. Cloner le repository : ```bash cd ~/Dev/test/simpleconnect-electron ``` 2. Installer les dépendances : ```bash npm install ``` 3. Lancer l'application : ```bash npm start ``` Pour le mode développement avec outils de debug : ```bash npm run dev ``` ## Configuration La configuration se trouve dans le fichier `config.json`. Vous pouvez y modifier : - **Agents** : Liste des agents avec leurs identifiants et centres assignés - **Centres** : Informations sur chaque centre médical (URL, téléphone, couleur, etc.) - **CTI** : Configuration de la simulation d'appels - **Préférences** : Paramètres généraux de l'application ### Agents de test disponibles | Email | Mot de passe | Centres assignés | |-------|-------------|------------------| | 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 ### Connexion 1. Lancez l'application 2. Connectez-vous avec un des comptes agents configurés 3. L'interface principale s'affiche avec vos centres assignés ### Gestion des appels 1. **Appel entrant** : Une notification apparaît en haut de l'écran 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. Cliquez sur "Simuler un appel" 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 - **Frontend** : HTML/CSS/JavaScript avec Electron - **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/ ├── main.js # Processus principal Electron ├── renderer.js # Logique frontend ├── index.html # Interface utilisateur ├── styles.css # Styles de l'application ├── cti-simulator.js # Module de simulation CTI ├── config.json # Configuration de l'application ├── package.json # Dépendances et scripts └── README.md # Documentation ``` ## Sécurité - Les mots de passe des agents sont stockés en clair dans `config.json` (à améliorer en production) - Les sessions des plannings sont isolées par centre (partition Electron) - CORS désactivé pour permettre le chargement des plannings externes ## Développement ### Build pour production Windows : ```bash npm run build:win ``` macOS : ```bash npm run build:mac ``` Linux : ```bash npm run build:linux ``` ### Personnalisation Pour ajouter un nouveau centre : 1. Modifiez `config.json` pour ajouter le centre 2. Assignez-le aux agents concernés 3. Redémarrez l'application ## Limitations actuelles - La connexion automatique aux plannings n'est pas implémentée (dépend de chaque site) - Les webviews peuvent ne pas fonctionner avec certains sites très sécurisés - La simulation CTI est basique et ne reflète pas un vrai système téléphonique ## Améliorations futures - [ ] Connexion automatique aux plannings via injection de scripts - [ ] Intégration avec de vrais systèmes CTI (Asterisk, etc.) - [ ] Base de données pour l'historique des appels - [ ] Authentification sécurisée des agents - [ ] Mode hors-ligne avec synchronisation - [ ] Rapports et statistiques avancées ## Support Pour toute question ou problème, créez une issue sur le repository GitHub.