From 86f98d750b7f07a2a52e4ddadf1b3ec5fa425e56 Mon Sep 17 00:00:00 2001 From: Maxime BOURIEAU Date: Wed, 14 Oct 2026 15:37:35 +0200 Subject: [PATCH] Add documentation for Quescom and StartPhoneServer deployment procedures --- .github/agents/chercheur-procedures.agent.md | 25 ++ ...Déploiement Quescom et StartPhoneServer.md | 230 ++++++++++++++++++ 2 files changed, 255 insertions(+) create mode 100644 .github/agents/chercheur-procedures.agent.md create mode 100644 START/Déploiement Quescom et StartPhoneServer.md diff --git a/.github/agents/chercheur-procedures.agent.md b/.github/agents/chercheur-procedures.agent.md new file mode 100644 index 0000000..cffc148 --- /dev/null +++ b/.github/agents/chercheur-procedures.agent.md @@ -0,0 +1,25 @@ +--- +name: Chercheur de procedures +description: "Retrouve rapidement dans le depot les commandes, tutoriels, procedures et instructions de configuration ou de mise a jour. Utilisez-le pour chercher une commande ou savoir comment effectuer une operation deja documentee." +tools: [read, search] +user-invocable: true +--- + +Tu es specialise dans la recherche de commandes et de procedures dans ce depot de documentation informatique. Reponds en francais. + +## Perimetre +- Cherche uniquement dans les documents du depot; ne modifie aucun fichier et n'execute aucune commande. +- Retrouve les procedures, tutoriels, commandes, configurations, installations, restaurations, mises a jour et operations d'exploitation. +- Ne suppose pas qu'une commande est correcte si elle n'apparait pas dans une source du depot. N'invente jamais de commande ni d'etape. + +## Methode +1. Identifie les mots importants de la demande: produit, technologie, operation, environnement ou symptome. +2. Recherche dans les noms de fichiers, titres, intertitres et contenu. Essaie des variantes et synonymes utiles, notamment commande, procedure, preparation, configuration, configurer, installation et mise a jour. +3. Ouvre le document correspondant et verifie le passage pertinent avant de repondre. +4. Si plusieurs documents correspondent, privilegie celui dont le titre et la section repondent le plus directement; ajoute un autre resultat seulement s'il apporte une voie distincte utile. + +## Reponse +- Donne une reponse breve en francais, avec le sujet retrouve et un lien Markdown vers le fichier du depot. Ajoute le titre de section pertinent si disponible. +- Pour une demande de commande precise, restitue la commande telle qu'elle est ecrite dans la source, avec son contexte ou ses avertissements immediats. Ne la transforme pas. +- Pour un tutoriel ou une procedure, indique en une phrase ce qu'il couvre; ne recopie pas la procedure entiere sauf demande explicite. +- Si aucun resultat pertinent n'est trouve, dis-le clairement et demande un mot-cle plus precis (par exemple produit, plateforme ou operation). Ne presente pas une correspondance incertaine comme un resultat confirme. \ No newline at end of file diff --git a/START/Déploiement Quescom et StartPhoneServer.md b/START/Déploiement Quescom et StartPhoneServer.md new file mode 100644 index 0000000..a32c714 --- /dev/null +++ b/START/Déploiement Quescom et StartPhoneServer.md @@ -0,0 +1,230 @@ +# Déploiement de Quescom et de StartPhoneServer + +## Prérequis + +- Disposer des VM StartPhoneServer et Quescom. +- Ne plus utiliser l'application Passerelle SMS. +- Définir l'URL de retour et l'adresse IP du serveur Quescom (Réseau/TaskForce), ainsi que le login et le mot de passe fournis par Quescom. Ces informations devront être renseignées dans StartPhoneServer. + +## Déploiement et configuration des VM + +Les VM modèles sont disponibles à l'emplacement suivant : + +```text +\\cloud\Clients\Sdis08\Recuperation_Systel\VM-Quescom +``` + +### Configuration réseau + +Adapter les adresses IP en fonction des VLAN et des dispositions du DCI, en coordination avec les experts réseau et la chefferie de projet. + +### VM Quescom (QASAAR) et passerelles + +La VM Quescom, initialement basée sur CentOS 7, doit être mise à jour vers AlmaLinux 10. + +Une fois l'adresse IP définie, le paramétrage de la machine est accessible à l'adresse suivante : `https://IP_VM:9090`. + +Capture d'écran : `image.png` + +L'application se paramètre ensuite depuis un navigateur à l'adresse `http://IP_VM`. + +Capture d'écran : `image.png` + +Les paramètres concernés se trouvent dans le menu **Configuration > Passerelles et routes > Routes / Passerelles**. + +Capture d'écran : `image.png` + +### Configuration DNS + +Ajouter les entrées DNS nécessaires à l'envoi des SMS et au retour des accusés de réception vers StartPhoneServer. Elles doivent être redirigées vers les HA-INT. + +Captures d'écran : `image.png`, `image.png` + +### Configuration du pare-feu + +Configurer les flux suivants : + +| Source | Destination / service | Port ou protocole | +| --- | --- | --- | +| `Grp_StartPhone` | BD | `1521` (Oracle) ou `1433` (SQL), selon le client | +| `Grp_StartPhone` | AMQ | `61616` | +| `Grp_StartPhone` | Broker | `1883` (MQTT) ou `10192` (WS) | +| `Grp_StartPhone` | `RPINT_VIP` | `443` | +| `RPINT_VIP` | Quescom | `443` | + +## Schéma de principe + +Schéma : `schema quescom.png` + +## Configuration de StartPhoneServer + +### Pilotage de Quescom uniquement + +Lors de l'import de la VM fournie, les fichiers de configuration sont déjà renseignés, à l'exception des paramètres propres au SDIS. + +#### `config.properties` + +Partir du fichier `config.properties.quescom.example`, situé dans le répertoire suivant, puis renseigner les paramètres de base (base de données, ActiveMQ, Broker, etc.) : + +```text +\\cloud\Qualité\Alerte\Version de référence SGO_117\Version StartPhoneServer\conf +``` + +#### `plugins.properties` + +Partir du fichier `plugins.properties.quescom.example`, situé dans le même répertoire. Le plugin **(A10) QUESCOM** doit impérativement être activé. + +Dans la section **(B7)**, renseigner les paramètres suivants : + +- `quescomPlugin.url` : URL utilisée pour joindre le serveur Quescom. +- `quescomPlugin.login` : login défini avec Quescom dans les prérequis. +- `quescomPlugin.password` : mot de passe défini avec Quescom dans les prérequis. + +Capture d'écran : `image.png` + +#### `units.properties` + +Partir du fichier `units.properties.quescom.example`, situé dans le répertoire de configuration indiqué ci-dessus. + +### Pilotage de la téléphonie en plus de Quescom + +Partir des fichiers `conf.example` standard de StartPhoneServer. Vérifier que le plugin Quescom est activé et que la section **(B7) Quescom** est correctement configurée dans `plugins.properties`. + +## Configuration des HA-INT (HAProxy) + +### Sauvegarde de la configuration + +Sur les deux HA-INT, sauvegarder le fichier `haproxy.cfg` : + +```bash +cd /etc/haproxy +cp haproxy.cfg haproxy.cfg_avant_ajout_quescom +``` + +### Configuration du HA inactif + +#### Définir les ACL +```haproxy +# ACL for PRODUCTION +acl LAN_ACL_RETOUR_QUESCOM hdr_dom(host) -i retour-quescom.sdis08.fr +acl LAN_ACL_QUESCOMSERVEUR hdr_dom(host) -i quescomserveur.sdis08.fr +acl LAN_ACL_STARTPHONE hdr_dom(host) -i startphoneserver.sdis08.fr +``` + +#### Associer les ACL aux backends + +```haproxy +# Backup for PRODUCTION +use_backend BACK_LAN_STARTPHONESERVER if LAN_ACL_STARTPHONE +use_backend BACK_LAN_STARTPHONESERVER if LAN_ACL_RETOUR_QUESCOM +use_backend BACK_LAN_QUESCOMSERVEUR if LAN_ACL_QUESCOMSERVEUR +``` + +#### Définir le frontend sur le port 8990 + +```haproxy +######### DON'T TOUCH ########## +######## FrontEnd Local ######## + +frontend FRONT_LAN_STARTPHONESERVER_8990 +bind :8990 +mode http +use_backend BACK_LAN_STARTPHONESERVER +``` + +#### Définir les backends StartPhoneServer et Quescom + +```haproxy +######### STARTPHONESERVER ########## +######### Retour Quescom ########## + +backend BACK_LAN_STARTPHONESERVER +mode http +acl h_CI_exists req.hdr(CLIENT-IP) -m found +http-request add-header CLIENT-IP %[src] unless h_CI_exists +option httpchk GET /systel-rest/poluxeye/info/ +http-check expect rstring \Wstate\W:\s\WSTARTED\W, +### Serveurs STARTPHONE ### +server STARTPHONE1 10.xxx.xxx.xx1:8990 check +server STARTPHONE2 10.xxx.xxx.xx2:8990 check + +############ QUESCOMSERVEUR ############## +backend BACK_LAN_QUESCOMSERVEUR +mode http + +# Vérifie si le header CLIENT-IP existe déjà +acl h_CI_exists req.hdr(CLIENT-IP) -m found + +# Ajoute l'IP source si le header n'est pas présent +http-request add-header CLIENT-IP %[src] unless h_CI_exists + +# Serveur Quescom en HTTPS +server QUESCOMSERVEUR 10.108.106.1:443 ssl verify none check maxconn 500 weight 1 +``` + +Vérifier la configuration HAProxy : + +```bash +haproxy -c -f /etc/haproxy/haproxy.cfg +``` + +Redémarrer le service HAProxy : + +```bash +service haproxy restart +``` + +### Configuration du HA actif + +Pour mettre à jour le HA plus rapidement, exécuter la commande suivante : + +```bash +haproxyupdate IP_HA_actif +``` + +## Configuration de START + +Activer l'OCN correspondante dans les OCN2. + +Capture d'écran : `image.png` + +## Tests de fonctionnement + +Deux méthodes permettent de vérifier le fonctionnement. + +### Depuis START + +1. Dans START, ouvrir **Messagerie > Multi-messagerie**. +2. Saisir le texte à envoyer. +3. Saisir le numéro de téléphone de test, puis cliquer sur **Ajouter**. +4. Cliquer sur **Envoyer** en haut de la page. + +Captures d'écran : `image.png`, `image.png`, `image.png` + +### Depuis la base de données + +Pour envoyer un SMS de test, adapter le texte et le numéro de téléphone dans la requête suivante : + +```sql +insert into messages_sms (ID_MESSAGE_SMS,NUM_TEL_DESTINATAIRE,TEXTE_MESSAGE_SMS,ETAT_MESSAGE_SMS)(select max(ID_MESSAGE_SMS)+1, 'numéro de téléphone à renseigner','Test SMS Quescom',0 from messages_sms) + +commit --si oracle +``` + +### Vérifier l'envoi via Quescom + +Dans les logs de StartPhoneServer, consulter le fichier `QuescomPlugin[MOBILISATION].log`. Il indique les SMS envoyés, le numéro de téléphone, le texte et le statut de l'envoi. + +Capture d'écran : `image.png` + +## Vérifier le retour Quescom + +Depuis un navigateur, accéder à l'URL suivante en l'adaptant au DNS et au nom de domaine concernés : + +```text +https://retour-quescom.bmpm13.fr/systel-rest/quescom/api +``` + +Capture d'écran : `image.png` + +Si une API se télécharge après avoir cliqué sur **Continuer vers le site**, la configuration du HA-INT pour le retour est correcte. \ No newline at end of file