Projet

Général

Profil

EoleNotification » Historique » Version 3

Version 2 (Fabrice Barconnière, 20/06/2017 15:35) → Version 3/5 (Fabrice Barconnière, 20/06/2017 15:37)

h1. EoleNotification

h2. Description

Application permettant d'envoyer des messages à :
* des utilisateurs
* des groupes d'utilisateurs
* des machines (Ex. tous les postes de la salle informatique)

La diffusion du message peut se faire :
* sur les postes clients
* par email
* par SMS

Les messages peuvent être envoyé :
* périodiquement (tous les lundi à 15h00, toutes les heures => bref "crontab")
* à date/heure précise (lundi 32 juillet à 25h64)
* dans X minutes/heures/jours
* à la prochaine ouverture de session
* à chaque ouverture de session

h2. Interface

L'utilisateur choisit s'il veut envoyer des messages à des utilisateurs/groupes ou à des machines.

*1.* S'il sélectionne utilisateurs/groupes, il peut ensuite choisir entre :
* machine poste client sur le réseau connecté au serveur
* SMS
* E-mail

Envoie de message à un utilisateur sur le poste de travail :
* l'utilisateur est connecté et reçoit le message
* l'utilisateur n'est pas connecté :
** on remonte l'erreur (peut-être gênant dans le cas d'un message envoyé périodiquement)
** on ne remonte rien
** on attend la prochaine fois que l'utilisateur se connecte pour lui afficher le message (gênant si msg toutes les heures et que l'utilisateur revient au bout de 2 mois...)

*2.* S'il sélectionne "poste client", on passe directement à la rédaction du message.

Sur un annuaire contenant beaucoup d'utilisateurs et de groupes il faut la possibilité de les afficher avec un filtre (ne pas les afficher tous sinon "ça rame"/"y'en a trop on n'trouve rien"):
* utilisateurs du groupe X (on sélectionne un par un les utilisateurs à notifier)
* utilisateurs dont le nom, le login, le prénom, etc. commence par la lettre X
* groupes dont le nom commence par la lettre X (on sélectionne les groupes, tous les membres sont notifiés)
* machines dont le nom commence par la lettre X

h2. Technique

h3. Clients Windows

Sous windows, pour afficher un message, on peut utiliser msg.exe :
echo "mon message" | msg.exe admin

Il n'est pas possible d'exécuter des commandes distantes depuis le serveur Seth sur les postes clients, il faut un utilitaire/service windows pour ça, comme "winexe" ou le client Scribe/Eole par exemple.

h3. Clients Linux

* libnotify : lib python disponible. Exemple sur Ubuntu Xenial
<pre>
sudo apt install python-notify
python
>>> import pynotify
>>> if pynotify.init("My Application Name"):
... n = pynotify.Notification("Title", "message")
... n.set_urgency(pynotify.URGENCY_CRITICAL)
... n.show()
...
True
>>>
</pre>
disponible

TODO

h3. SMS

TODO

h3. email

echo message | mail #où qqchose du genre