Étape 1 : Installer MariaDB:
sudo apt update
sudo apt install mariadb-server -y
sudo systemctl enable mariadb
sudo systemctl start mariadb
Sécuriser l’installation: suivre toutes les étapes nécessaires.
sudo mysql_secure_installation
Étape 2 : Créer la base, la table et insérer de fausses données
Via le shell accéder à MariaDB
sudo mariadb -u root -p
CREATE DATABASE store_db;
USE store_db;
CREATE TABLE ventes (
id INT AUTO_INCREMENT PRIMARY KEY,
produit VARCHAR(100),
quantite INT,
prix_unitaire DECIMAL(6,2),
date_vente DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- Insertion de quelques données fictives
INSERT INTO vente (produit, quantite, prix_unitaire)
VALUES
('Clavier', 2, 29.99),
('Souris', 5, 19.90),
('Écran', 1, 199.99);
Étape 3 : Script Python pour lire la table et envoyer par mail
Installez les bibliothèques nécessaires :
pip install mysql-connector-python
Ecrire le script en python:
#!/usr/bin/env python3
import mysql.connector
import smtplib
from email.mime.text import MIMEText
from datetime import datetime
# Connexion à la base MariaDB
conn = mysql.connector.connect(
host="localhost",
user="root",
password="VOTRE_MDP",
database="ventes_db"
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM vente ORDER BY date_vente DESC LIMIT 5")
ventes = cursor.fetchall()
# Formatage du message
message = " Dernières ventes enregistrées :\n\n"
for v in ventes:
message += f"Produit : {v[1]} | Qté : {v[2]} | Prix : {v[3]} € | Date : {v[4]}\n"
cursor.close()
conn.close()
# Configuration email
EMAIL_SENDER = "votre.email@gmail.com"
EMAIL_RECEIVER = "destinataire@example.com"
EMAIL_PASSWORD = "votre_mdp_app"
SMTP_SERVER = "smtp.gmail.com"
SMTP_PORT = 587
msg = MIMEText(message)
msg['Subject'] = f"
Rapport ventes - {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
msg['From'] = EMAIL_SENDER
msg['To'] = EMAIL_RECEIVER
# Envoi de l’email
try:
with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server:
server.starttls()
server.login(EMAIL_SENDER, EMAIL_PASSWORD)
server.send_message(msg)
print(" Email envoyé avec succès")
except Exception as e:
print(f" Erreur : {e}")
Rendre le script exécutable :
chmod +x /home/user/mail_vente.py
Ajouter à la crontab :
crontab -e
min hr dom month dow /usr/bin/python3 /home/user/mail_vente.py>>/home/user/mail_vente.log 2>&1
Conclusion
Grâce à Python et crontab, vous avez désormais un système capable de vous informer par mail de l’état de votre base de données. A la prochaine pour un nouveeau tutoriel rapide.
Top comments (0)