Table des matières
Application mobile EsiaVoyager
Installation
L'application est disponible sur Google Play.
Remarque : EsiaVoyager est inutilisable sans paramètres de connexions vers un serveur Esia Infinity ou Esia Unity. De plus elle est prévue pour fonctionner avec un serveur en version 3.2.5 ou suppérieure (Certaines fonctionnalités seront buggées ou inaccessibles si le serveur est dans une version inférieure).
Connexion
Lorsque vous ouvrez l'application pour la première fois il faut entrer les informations concernant votre serveur Esia.
Pour l'URL de votre serveur, il n'est pas nécessaire d'ajouter « https://
» devant l'application le fait automatiquement. Les normes de sécurité d'Android n'autorisent plus que les connexions HTTPS.
L'application va stocker les données de connexion dans la mémoire du téléphone. Le mot de passe n'est jamais sauvegardé il est seulement utilisé pour créer un token de connexion au serveur avant d'être détruit. C'est ce token qui est enregistré en mémoire.
Les informations de connexion ne seront plus demandées, par la suite elle sera automatique tant que l'utilisateur n'a pas lui même choisis de se déconnecter.
Sécurité SSL
L'application permet une connexion SSL via un certificat auto-signé (non reconnu de base par le système Android). Lors de la tentative de connexion au serveur, une fenêtre de dialogue va apparaître pour afficher le certificat (qui est automatiquement récupéré via la connexion SSL) et offrir la possibilité de faire confiance (ou non) a ce certificat.
Ceci n'est valable que pour des certificats « Serveur ». On ne sait pas modifier le certificat « Client » utilisé pour la connexion. Le certificat est stocké par l'application dans un stockage sécuriser et l'exception de sécurité ne sera plus affichée par la suite. L'exception de sécurité n'est valide que pour l'application EsiaVoyager. On peut supprimer les exceptions de sécurité en supprimant toutes les données de l'application via les paramètres d'Android.
Mon certificat est valide mais il génère une exception de sécurité
Dans certains cas, il se peut qu'un serveur dont le certificat SSL qui est validé par une autorité de certification génère pourtant une exception dans l'application EsiaVoyager et ce même s'il n'y a pas d'exception générée depuis un navigateur web sur le même téléphone. Cela se produit lorsqu'il manque un certificat intermédiaire dans la chaîne de certification si celle-ci n'est pas fournie en totalité par le serveur. Le navigateur web lui connaît déjà certains certificats intermédiaires utilisés par les autorités de certification et télécharge ceux qu'il lui manque lors de la navigation sur d'autres sites web. Il se peut donc qu'il connaisse déjà celui utilisé dans votre chaîne de certification même s'il n'est pas fourni par votre serveur. L'application elle n'a pas accès aux certificats récupérés par le navigateur web mais uniquement à ceux fournis par l'OS.
Analyse du certificat SSL renvoyé par le serveur
Pour vérifier le certificat SSL renvoyé par le serveur, vous pouvez utiliser l'outil SSL-test de SSL Labs.
Renseignez l'URL de votre serveur dans « Hostname », cliquez sur « Submit » et attendez que le test se termine (cela peut durer 2-3 minutes). Ensuite, vous devriez avoir une page comme celle-ci :
Si votre serveur ne fournit pas la chaîne de certification au complet, vous verrez le message « This server's certificate chain is incomplete » comme sur l'image ci-dessus.
Vous pouvez obtenir plus d'informations en cliquant sur « Certification Paths » en bas de la section « Certificate #1: … »
On voit bien sur cette image qu'en 1 le certificat serveur est bien envoyé par celui-ci, le certificat Root en 3 est connu par l'OS, mais le certificat intermédiaire en 2 nécessite un téléchargement externe. C'est là que ça coince pour l'application mobile.
Ne plus recevoir d'exception de sécurité
Soit vous validez l'exception de sécurité dans EsiaVoyager mais il faudra faire cette opération pour chacun des clients qui se connectent au serveur. Soit vous modifiez côté serveur pour qu'il renvoie la chaîne de certification complète au lieu du certificat serveur uniquement.
Astuce pour télécharger la chaîne de certification via Firefox
Ouvrez la page de votre serveur Esia dans Firefox. Cliquez sur l'icône en forme de cadenas à gauche de l'URL puis sur « Connexion sécurisée »
Ensuite, sur « Plus d'informations »
Cliquez sur « Afficher le certificat »
Descendez jusqu'à la section « Divers » puis à coté de « Télécharger » choisissez « PEM (chain) »
Si on ouvre le fichier .pem il contient bien la chaîne de certification au complet.
Il ne reste plus qu'à remplacer le certificat sur le serveur par le fichier PEM télécharger.
Alertes en cours
Une fois connecter au serveur, la page principale de l'application affiche le tableau des alertes. C'est l'équivalent de la page « Etat du réseau » de l'interface web Esia (Clique sur le menu Alertes ou sur Etat des noeuds).
Bouton rafraichir
Les pages qui affichent des données Esia (Alertes en cours, Groupes, Noeud, …) se rafraichissent automatiquement toutes les 5 minutes. Il est possible de le faire manuellement grâce au bouton rafraichir. Ce bouton est clickable une minute après le dernier rafraichissement et il affiche le nombre de minutes écoulées depuis celui-ci.
Le bouton rafraichir 2 minutes après le dernier rafraichissement de la page :
Menu Principale
Ouvrez le menu de gauche en appuyant sur l'icône des barres horizontales en haut à gauche de l'écran ou en le faisant glisser depuis la gauche de l'écran.
Pour changer d'utilisateur cliquez sur le bouton « Déconnexion » du menu de gauche pour supprimer les données de connexion utilisateur et revenir à la page de login.
Pour configurer les paramètres de notifications, cliquez sur le bouton « Paramètres » du menu de gauche.
Paramètres des notifications
Les notifications concernent l'état des services ou le status de la connexion entre l'application et le serveur esia. Elle tente de récupérer les informations toutes les 5 minutes et les compare avec le résultat précédent pour détecter les différences entre le nombre de chaque services en alerte. Forcément, si l'application ne peut pas joindre le serveur on ne sait pas récupérer le status des services.
Pour quels évènements souhaitez-vous être notifié :
- Rétabli : Notifie quand le nombre total d'erreurs diminue (Ou connexion au serveur rétablie).
- Erreur : Notifie quand le nombre total d'erreurs augmente (Ou connexion au serveur perdue).
Type de notification :
- Sonore : Vibreur + Son.
- Silencieuse : Vibreur uniquement.
- Aucune : Ne pas tenir compte de ce type d'évènement.
Si plusieurs types d'événements sont détectés en même temps, le type de notification choisi sera celui qui a la plus haute priorité. (1. Sonore - 2. Silencieuse)
Exemple si on demande une alerte sonore sur Erreure Critique et silencieuse sur Rétabli Inconnu (Tout le reste sur Aucune). Si lors de la première vérification le serveur contient 10 services critiques et 20 inconnus. Lors de la seconde vérification 5m plus tard on est passé à 12 critiques et 18 inconnus (tous les autres changements de status seront ignorés). On reçevra une alerte sonore avec le message suivant :
Widgets
Différentes widgets sont disponibles:
- État des nœuds : le nombre de noeuds par status (équivalent de ce que l'on voit en haut à droite de l'interface Web)
- État des services : le nombre de services par status OK, Alerte, Critique et Inconnu
- État des services avec maintenance : le nombre de services par status OK, Alerte, Critique, Inconnu et Maintenance
Paramétrage du téléphone pour les tâches d'arrière-plan
Les données des widgets et des notifications sont récupérées via une tâche d'arrière-plan dans le but de récupérer celles-ci même lorsque l'application est fermée. Android met toute une série de restrictions sur les tâches d'arrère-plan qui impactent leur fonctionnement. Elle va tenter de s'exécuter toutes les 5 minutes mais c'est Android qui décide quand il l'exécute réellement. En pratique, elle s'exécutera entre 5 et 15 minutes mais souvent plus proche des 5 minutes.
Chaque fabricant met aussi une série de restrictions pour limiter l'utilisation de la batterie. Si vous voulez que l'application puisse s'exécuter le plus régulièrement possible et ne se fasse pas complètement arrêter par le système d'optimisation, il faut créer une exception pour EsiaVoyager dans les paramètres d'optimisation de la batterie. La méthode diffère en fonction du fabricant du téléphone c'est pourquoi je vous partage un lien (en Anglais) vers le site dontkillmyapp qui fournit des tuto par fabricants et les maintient à jour.