EoleNotification¶
Description¶
Application permettant d'envoyer des messages à :- des utilisateurs
- des groupes d'utilisateurs
- des machines (Ex. tous les postes de la salle informatique)
- sur les postes clients
- par email
- par SMS
- 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
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
- 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
Technique¶
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.
Clients Linux¶
- libnotify : lib python disponible. Exemple sur Ubuntu Xenial
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 >>>
TODO
SMS¶
https://pypi.python.org/pypi/behaving
TODO
email¶
- echo message | mail #où qqchose du genre
- https://pypi.python.org/pypi/behaving