lundi 27 août 2012

Pourquoi j'aime Ignition

D'accord, ce n'est pas très objectif, mais quand même, je dois avouer que j'ai toujours tellement de plaisir à lancer Ignition™depuis n'importe où et faire des démonstrations et à (dé)montrer aux clients et prospects combien il est agréable de travailler avec un outil reposant sur 100% des standards informatiques. Ceux qui sont dans votre entreprise, que vos informaticiens maitrisent (et adorent) et que tout jeune diplômé ou non saura dompter très facilement.

Au cours de l'été, j'ai eu à faire des démonstrations (oui, même pendant les vacances, je ne peux pas résister à une démo ;)) et surtout récemment à aider un client en mise en service qui avait besoin d'une fonction simple pour suivre le fonctionnement de ses escalades d'alarmes : envoyer un email avec un destinataire en copie voire copie cachée.

Il existe bien une fonction standard Ignition (system.net.sendEmail) mais elle est relativement basique ; alors un coup de Google (send email python) et on tombe sur cela :

# Import smtplib to provide email functions
import smtplib

# Import the email modules
from email.mime.text import MIMEText

# Define email addresses to use
addr_to   = 'user1@example.com'
addr_from = 'user2@example.com'

# Define SMTP email server details
smtp_server = 'mail.example.com'
smtp_user   = 'test@example.com'
smtp_pass   = '1234567889'

# Construct email
msg = MIMEText('This is a test email')
msg['To'] = addr_to
msg['From'] = addr_from
msg['Subject'] = 'Test Email From RPi'

# Send the message via an SMTP server
s = smtplib.SMTP(smtp_server)
s.login(smtp_user,smtp_pass)
s.sendmail(addr_from, addr_to, msg.as_string())
s.quit()
Le code Python est simple et lisible et je décide de l'essayer en le modifiant avec ajout d'un destinataire en copie et message de type html. Là encore, une simple recherche sur la fonction SMTPLIB de Python me donne des tonnes d'informations : la documentation officielle de Python bien sûr et plein d'exemples simples ou plus complexes mais qui sont très faciles à adapter grâce à la simplicité de la syntaxe de Python.

Un test dans mon éditeur :

Et voilà l'email envoyé :
Il ne reste plus qu'a copier le code et à l'insérer dans un script Ignition™- en l'occurrence, sur changement d'état d'une synthèse d'alarme - pour être alerté en temps réel des évènements en plus de pouvoir prendre le contrôle du système à distance, car je le rappelle, Ignition™ est full web. Et uniquement full web.

On a coutume de dire qu'avec Ignition™, si vous pouvez l'imaginer, vous pouvez le réaliser. C'est ce sentiment de liberté qui fait la force de cet outil.

Le plus agréable dans tout cela ? l'email de remerciement du client et la satisfaction de l'avoir aidé en 2 requêtes Google ;) et moins de 5 minutes chrono.

Bonne rentrée à tous, elle sera chaude en ce qui nous concerne.