ITSkillsCenter
Cybersécurité

Débuter avec Python : automatiser vos tâches répétitives

6 min de lecture

Python : le couteau suisse de l’automatisation

Python est le langage de programmation le plus accessible pour les débutants et le plus utilise pour l’automatisation. Au Sénégal, que vous soyez comptable, marketeur, développeur junior ou entrepreneur, Python vous permet d’automatiser des tâches répétitives en quelques lignes de code : renommer 500 fichiers, extraire des données d’un site web, générer des rapports PDF, envoyer des emails en masse, ou analyser vos ventes.

Installer Python

Sur Windows

# 1. Téléchargez Python depuis python.org (bouton "Download Python 3.12")
# 2. IMPORTANT : cochez "Add Python to PATH" pendant l'installation
# 3. Vérifiez dans le terminal (Win + R > cmd) :
python --version
# Python 3.12.x

pip --version
# pip 24.x

Premier script : « Hello Dakar »

# Créez un fichier hello.py
print("Salam ! Bienvenue dans le monde Python")
print("Nous sommes a Dakar et nous allons automatiser !")

nom = input("Quel est votre prenom ? ")
print(f"Bonsoir {nom}, prêt à coder ?")

# Executez : python hello.py

Les bases en 20 minutes

Variables et types

# Texte (string)
nom_entreprise = "ITSkillsCenter"
ville = "Dakar"

# Nombres
prix_fcfa = 25000
tva = 0.18
prix_ttc = prix_fcfa * (1 + tva)  # 29500.0

# Listes
produits = ["Formation WordPress", "Audit SEO", "Site E-commerce"]
produits.append("Application Mobile")
print(len(produits))  # 4

# Dictionnaires
client = {
    "nom": "Moussa Diallo",
    "téléphone": "+221 77 123 45 67",
    "ville": "Dakar",
    "solde_fcfa": 150000
}
print(client["nom"])  # Moussa Diallo

Conditions et boucles

# Conditions
montant = 500000
if montant > 1000000:
    print("Virement bancaire recommande")
elif montant > 100000:
    print("Paiement Wave ou Orange Money")
else:
    print("Paiement en especes possible")

# Boucle sur une liste
clients = ["Awa", "Ibrahima", "Fatou", "Ousmane"]
for client in clients:
    print(f"Bonjour {client}, merci pour votre confiance !")

# Boucle avec range
for i in range(1, 13):
    print(f"Facture du mois {i}/2024")

Fonctions

# Fonction de calcul de TVA sénégalaise
def calculer_ttc(montant_ht, taux_tva=0.18):
    tva = montant_ht * taux_tva
    ttc = montant_ht + tva
    return ttc, tva

prix, taxe = calculer_ttc(100000)
print(f"HT: 100 000 FCFA | TVA: {taxe:,.0f} FCFA | TTC: {prix:,.0f} FCFA")
# HT: 100 000 FCFA | TVA: 18,000 FCFA | TTC: 118,000 FCFA

# Formater en FCFA
def format_fcfa(montant):
    return f"{montant:,.0f} FCFA".replace(",", " ")

print(format_fcfa(1500000))  # 1 500 000 FCFA

5 automatisations pratiques

1. Renommer des fichiers en masse

import os
from datetime import datetime

dossier = "C:/Users/MonUser/Documents/Factures"
date = datetime.now().strftime("%Y-%m")

compteur = 1
for fichier in os.listdir(dossier):
    if fichier.endswith(".pdf"):
        nouveau_nom = f"Facture_{date}_{compteur:03d}.pdf"
        ancien = os.path.join(dossier, fichier)
        nouveau = os.path.join(dossier, nouveau_nom)
        os.rename(ancien, nouveau)
        print(f"Renomme: {fichier} -> {nouveau_nom}")
        compteur += 1

print(f"{compteur - 1} fichiers renommes !")

2. Envoyer des emails en masse avec Brevo

import sib_api_v3_sdk

# pip install sib-api-v3-sdk
configuration = sib_api_v3_sdk.Configuration()
configuration.api_key["api-key"] = "VOTRE_CLE_API_BREVO"

api = sib_api_v3_sdk.TransactionalEmailsApi(
    sib_api_v3_sdk.ApiClient(configuration)
)

# Liste de clients a contacter
clients = [
    {"nom": "Awa Ndiaye", "email": "awa@example.com"},
    {"nom": "Ibrahima Fall", "email": "ibrahima@example.com"},
]

for client in clients:
    email = sib_api_v3_sdk.SendSmtpEmail(
        to=[{"email": client["email"], "name": client["nom"]}],
        sender={"email": "contact@monentreprise.sn", "name": "Mon Entreprise"},
        subject=f"Bonjour {client['nom']} - Offre speciale pour vous",
        html_content=f"

Bonjour {client['nom']}

Decouvrez notre nouvelle offre...

" ) api.send_transac_email(email) print(f"Email envoye a {client['nom']}")

3. Extraire des données d’un site web (Web Scraping)

import requests
from bs4 import BeautifulSoup
import csv

# pip install requests beautifulsoup4

# Exemple : extraire les titres d'articles d'un blog
url = "https://monsite.sn/blog"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")

articles = []
for article in soup.find_all("h2", class_="entry-title"):
    titre = article.get_text(strip=True)
    lien = article.find("a")["href"] if article.find("a") else ""
    articles.append({"titre": titre, "lien": lien})
    print(f"Trouve: {titre}")

# Sauvegarder en CSV
with open("articles.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.DictWriter(f, fieldnames=["titre", "lien"])
    writer.writeheader()
    writer.writerows(articles)

print(f"{len(articles)} articles exportes dans articles.csv")

4. Générer des factures PDF automatiquement

from fpdf import FPDF

# pip install fpdf2

def generer_facture(numéro, client, lignes, total_ht):
    pdf = FPDF()
    pdf.add_page()
    pdf.set_font("Helvetica", "B", 20)
    pdf.cell(0, 15, "FACTURE", ln=True, align="C")
    
    pdf.set_font("Helvetica", "", 12)
    pdf.cell(0, 8, f"Facture N: {numéro}", ln=True)
    pdf.cell(0, 8, f"Client: {client['nom']}", ln=True)
    pdf.cell(0, 8, f"NINEA: {client.get('ninea', 'N/A')}", ln=True)
    pdf.ln(10)
    
    # Tableau des lignes
    pdf.set_font("Helvetica", "B", 10)
    pdf.cell(80, 8, "Description", border=1)
    pdf.cell(30, 8, "Qte", border=1, align="C")
    pdf.cell(40, 8, "Prix unitaire", border=1, align="R")
    pdf.cell(40, 8, "Total", border=1, align="R", ln=True)
    
    pdf.set_font("Helvetica", "", 10)
    for ligne in lignes:
        total_ligne = ligne["qte"] * ligne["prix"]
        pdf.cell(80, 8, ligne["desc"], border=1)
        pdf.cell(30, 8, str(ligne["qte"]), border=1, align="C")
        pdf.cell(40, 8, f'{ligne["prix"]:,} FCFA', border=1, align="R")
        pdf.cell(40, 8, f'{total_ligne:,} FCFA', border=1, align="R", ln=True)
    
    tva = int(total_ht * 0.18)
    ttc = total_ht + tva
    pdf.ln(5)
    pdf.cell(150, 8, "Total HT:", align="R")
    pdf.cell(40, 8, f'{total_ht:,} FCFA', align="R", ln=True)
    pdf.cell(150, 8, "TVA 18%:", align="R")
    pdf.cell(40, 8, f'{tva:,} FCFA', align="R", ln=True)
    pdf.set_font("Helvetica", "B", 12)
    pdf.cell(150, 8, "Total TTC:", align="R")
    pdf.cell(40, 8, f'{ttc:,} FCFA', align="R", ln=True)
    
    pdf.output(f"facture_{numéro}.pdf")
    print(f"Facture {numéro} generee !")

# Utilisation
client = {"nom": "Entreprise ABC", "ninea": "12345678A"}
lignes = [
    {"desc": "Création site WordPress", "qte": 1, "prix": 500000},
    {"desc": "Formation SEO (2 jours)", "qte": 1, "prix": 200000},
]
generer_facture("2024-001", client, lignes, 700000)

5. Analyser les ventes avec pandas

import pandas as pd

# pip install pandas openpyxl

# Charger les données de ventes
df = pd.read_excel("ventes_2024.xlsx")

# Aperçu
print(df.head())
print(f"Total des ventes: {df['montant'].sum():,.0f} FCFA")

# Ventes par mois
ventes_mensuelles = df.groupby(df['date'].dt.month)['montant'].sum()
print("\nVentes par mois:")
print(ventes_mensuelles)

# Top 5 des clients
top_clients = df.groupby('client')['montant'].sum().sort_values(ascending=False).head(5)
print("\nTop 5 clients:")
print(top_clients)

# Exporter le rapport
with pd.ExcelWriter("rapport_ventes.xlsx") as writer:
    ventes_mensuelles.to_excel(writer, sheet_name="Par mois")
    top_clients.to_excel(writer, sheet_name="Top clients")

print("Rapport exporte dans rapport_ventes.xlsx")

Installer les bibliotheques necessaires

# Créer un fichier requirements.txt
requests
beautifulsoup4
fpdf2
pandas
openpyxl
sib-api-v3-sdk
python-dotenv

# Installer toutes les dependances
pip install -r requirements.txt

Planifier vos scripts automatiquement

# Windows : Planificateur de tâches
# 1. Ouvrez le Planificateur de tâches (taskschd.msc)
# 2. Créer une tâche de base
# 3. Programme : python.exe
# 4. Arguments : C:\Scripts\mon_script.py
# 5. Planification : quotidien a 8h

# Ou via PowerShell :
$action = New-ScheduledTaskAction -Execute "python" -Argument "C:\Scripts\rapport_quotidien.py"
$trigger = New-ScheduledTaskTrigger -Daily -At 8AM
Register-ScheduledTask -TaskName "RapportQuotidien" -Action $action -Trigger $trigger

# Linux (cron) :
# crontab -e
# 0 8 * * * /usr/bin/python3 /home/user/scripts/rapport_quotidien.py

Ressources pour apprendre Python au Sénégal

Ressource Type Langue Coût
Python.org Tutorial Documentation officielle Anglais Gratuit
Automate the Boring Stuff Livre en ligne Anglais Gratuit
OpenClassrooms Python Cours en ligne Français Gratuit (base)
FreeCodeCamp Python Video YouTube Anglais Gratuit
Codecademy Python Interactif Anglais Gratuit (base)

Checklist démarrage Python

  • Python 3.12+ installe avec PATH configure
  • Éditeur de code installe (VS Code recommande, gratuit)
  • Premier script « Hello » execute avec succès
  • pip fonctionnel pour installer des bibliotheques
  • Au moins une automatisation pratique realisee
  • Script planifie automatiquement (Planificateur de tâches ou cron)
Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 350.000 FCFA
Parlons de Votre Projet
Publicité

Articles Similaires