diff --git a/README.md b/README.md index 512c059..9dc239e 100644 Binary files a/README.md and b/README.md differ diff --git a/alerte_sms.py b/alerte_sms.py new file mode 100644 index 0000000..6864a3f --- /dev/null +++ b/alerte_sms.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +import ovh +import os +from dotenv import load_dotenv + +load_dotenv() + +# Dictionnaire des numéros par site +NUMEROS_PAR_SITE = { + "Saclay": ["+33635164680", "+33650270939","+33682069405"], + "Meudon": ["+33616443455"], + # ajoute d'autres sites ici +} + +def envoyer_sms_ovh(message, site): + numeros = NUMEROS_PAR_SITE.get(site) + if not numeros: + print(f"[!] Aucun numéro défini pour le site {site}. SMS non envoyé.") + return + + client = ovh.Client( + endpoint=os.getenv("OVH_ENDPOINT"), + application_key=os.getenv("OVH_APP_KEY"), + application_secret=os.getenv("OVH_APP_SECRET"), + consumer_key=os.getenv("OVH_CONSUMER_KEY"), + ) + + account = os.getenv("OVH_SMS_ACCOUNT") + + try: + result = client.post(f'/sms/{account}/jobs', + sender='Supervision', + message=message, + receivers=numeros, + priority='high', + noStopClause=True, + ) + print(f"[✓] SMS envoyé pour {site} à {numeros}") + return result + except Exception as e: + print(f"[!] Erreur envoi SMS OVH : {e}") + diff --git a/générer_la_Consumer_Key_OVH.py b/générer_la_Consumer_Key_OVH.py new file mode 100644 index 0000000..bcaefc1 --- /dev/null +++ b/générer_la_Consumer_Key_OVH.py @@ -0,0 +1,22 @@ +import ovh +import os +from dotenv import load_dotenv + +load_dotenv() + +client = ovh.Client( + endpoint=os.getenv("OVH_ENDPOINT"), + application_key=os.getenv("OVH_APP_KEY"), + application_secret=os.getenv("OVH_APP_SECRET"), +) + +# Demande de consumer key avec les permissions nécessaires +ck_request = client.new_consumer_key_request() +ck_request.add_rules(ovh.API_READ_WRITE, "/sms/*") + +validation = ck_request.request() + +print("=== LIEN D'AUTORISATION OVH ===") +print(validation['validationUrl']) +print("\nUne fois autorisé, voici votre CONSUMER_KEY à copier dans le .env :") +print(validation['consumerKey']) diff --git a/requirements.txt b/requirements.txt index 29cc77d..14727e4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,3 +10,4 @@ schedule~=1.2.2 paramiko~=3.5.1 dotenv fpdf +ovh \ No newline at end of file