DEV Community

Cover image for Automatiser l’envoi d’un message WhatsApp quotidien avec Python et Cron
Ismael GALEKWA
Ismael GALEKWA

Posted on

Automatiser l’envoi d’un message WhatsApp quotidien avec Python et Cron

Objectif
Dans cet article, nous allons créer un petit script Python qui s’exécute automatiquement chaque jour à 6h00 du matin pour envoyer un message WhatsApp automatique à un coach. Le message est simple :

"Bonjour Coach "

Ce projet allie automatisation système (cron) et API de messagerie (WhatsApp via Twilio). Parfait pour un usage personnel, professionnel ou pédagogique.

Prérequis
Avant de commencer, voici ce dont vous avez besoin :

Un compte gratuit Twilio

Python 3 installé sur votre machine

pip pour installer les bibliothèques

Accès au crontab sur un système Linux/macOS

🛠️ Étape 1 : Créer un compte Twilio et activer WhatsApp
Allez sur https://www.twilio.com/ et créez un compte.

Accédez à la console WhatsApp Sandbox ici :
https://www.twilio.com/console/sms/whatsapp/learn

Envoyez le code de vérification (join xxxx) au numéro WhatsApp fourni par Twilio pour activer votre numéro personnel.

Copiez votre Account SID et Auth Token depuis la console.

Étape 2 : Installer les dépendances Python
Dans un terminal, exécutez :

bash
Copier
Modifier
pip install twilio
Étape 3 : Écrire le script Python
Créez un fichier whatsapp_message.py :

python
Copier
Modifier
from twilio.rest import Client

--- Vos identifiants Twilio ---

account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
auth_token = 'your_auth_token'
from_whatsapp_number = 'whatsapp:+14155238886' # Numéro sandbox Twilio
to_whatsapp_number = 'whatsapp:+243xxxxxxxxx' # Numéro WhatsApp du Coach

---------------------------------

client = Client(account_sid, auth_token)

message = client.messages.create(
body='Bonjour Coach ',
from_=from_whatsapp_number,
to=to_whatsapp_number
)

print(f" Message envoyé ! SID : {message.sid}")
Remplace les valeurs account_sid, auth_token et to_whatsapp_number par les tiennes.

Étape 4 : Automatiser avec Cron (Linux/macOS)
Ouvrir l’éditeur crontab
bash
Copier
Modifier
crontab -e
Ajouter cette ligne pour exécuter le script chaque jour à 6h00 :
bash
Copier
Modifier
0 6 * * * /usr/bin/python3 /chemin/vers/whatsapp_message.py >> /home/ismael/logs/whatsapp.log 2>&1
0 6 * * * = tous les jours à 6h00 du matin

Remplace /usr/bin/python3 par le chemin de ton interpréteur (which python3)

Crée le dossier /home/ismael/logs s’il n’existe pas

Étape 5 : Test manuel du script
Avant de dépendre du cron, teste ton script manuellement :

bash
Copier
Modifier
python3 whatsapp_message.py
Tu devrais recevoir le message "Bonjour Coach " sur ton WhatsApp personnel via la sandbox Twilio.

(Optionnel) Sécuriser les identifiants avec .env
Pour éviter de stocker tes identifiants en clair :

Installe python-dotenv :

bash
Copier
Modifier
pip install python-dotenv
Crée un fichier .env :

ini
Copier
Modifier
TWILIO_SID=ACxxxxxxxxxxxxxxxxxxxxxx
TWILIO_TOKEN=your_auth_token
TO_NUMBER=whatsapp:+243xxxxxxxxx
Modifie ton script Python :

python
Copier
Modifier
from twilio.rest import Client
from dotenv import load_dotenv
import os

load_dotenv()

account_sid = os.getenv("TWILIO_SID")
auth_token = os.getenv("TWILIO_TOKEN")
from_whatsapp_number = 'whatsapp:+14155238886'
to_whatsapp_number = os.getenv("TO_NUMBER")

client = Client(account_sid, auth_token)

message = client.messages.create(
body='Bonjour Coach ',
from_=from_whatsapp_number,
to=to_whatsapp_number
)

print(f" Message envoyé ! SID : {message.sid}")
Résultat final
Grâce à cette solution, votre coach (ou n’importe quel contact autorisé via Twilio) recevra un message WhatsApp personnalisé tous les jours à 6h00.

Conclusion
Ce projet est une belle démonstration de ce qu’on peut faire avec un peu de Python, des APIs simples et une tâche planifiée. Vous pouvez aller encore plus loin en :

Envoyant des alertes système ou météo

Intégrant des rappels personnalisés

Utilisant un vrai numéro WhatsApp Twilio (payant)

Top comments (0)