REPUBLIQUE DU BENIN
**********
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE
LA RECHERCHE SCIENTIFIQUE (MESRS)
********
INSTITUE UNIVERSITAIRE DE TECHNOLOGIQUE DE PARAKOU
********
Master Pro I: Génie Logiciel et Intégration d’Application
Module : Atelier de programmation en Python
Rapport individuel de travaux d’atelier en programmation Python
Réalisé par :
BOUYA Kombè Armand
Supervisé par :
Dr Didier ANAGO
Année Universitaire :
2024-2025
Atelier Python : Création d’une horloge numérique et Envoie de E-mails
Sommaire
Contexte.................................................................................................................................................. 4
Activité 1 :............................................................................................................................................... 4
A- Présentation de l’application :.................................................................................................. 4
B- Description du code : ................................................................................................................. 5
1. Importation des bibliothèques ...................................................................................................... 5
2. Module de Temps .......................................................................................................................... 5
3. Implémentation de l’horloge numérique ..................................................................................... 6
4. Stabiliser la fenêtre ........................................................................................................................ 6
C- Exécution du programme (Output) ......................................................................................... 6
Activité 2 : .............................................................................................................................................. 6
A- Configuration du compte Gmail .............................................................................................. 7
Séquence 1 .............................................................................................................................................. 8
A- Descriptif du code ...................................................................................................................... 9
2- Informations de connexion ........................................................................................................... 9
3- Création du message ..................................................................................................................... 9
6- Fermeture de la connexion avec le serveur SMTP ..................................................................... 9
B- Exécution du programme (Output) ....................................................................................... 10
Séquence2 : envoyer un email avec une pièce jointe ........................................................................ 11
A- Descriptif du code .................................................................................................................... 12
1) Importer les bibliothèques nécessaires ...................................................................................... 12
2) Informations de connexion ......................................................................................................... 12
3) Création du message ................................................................................................................... 12
4) Ajout du corps de l'email ............................................................................................................ 12
5) Ajout de la pièce jointe ................................................................................................................ 12
6) Connexion au serveur SMTP et envoi de l'email ...................................................................... 12
B- Exécution du programme (Output) ....................................................................................... 13
Séquence 3 : Envoyez des courriers en masse à la fois ........................................................................ 14
A- Descriptif du code ..................................................................................................................... 15
1. Import des bibliothèques nécessaires......................................................................................... 15
2. Informations de connexion ......................................................................................................... 15
3. Liste des destinataires ................................................................................................................. 15
4. Création du message de base ...................................................................................................... 15
5. Connexion au serveur SMTP ..................................................................................................... 15
6. Envoi des emails en boucle.......................................................................................................... 15
7. Fermeture de la connexion ......................................................................................................... 15
2
Atelier Python : Création d’une horloge numérique et Envoie de E-mails
B- Exécution du programme (output) : .......................................................................................... 15
Conclusion ............................................................................................................................................ 16
3
Atelier Python : Création d’une horloge numérique et Envoie de E-mails
Contexte
Python est un langage de programmation puissant et polyvalent,
largement utilisé dans divers domaines allant du développement web à l'analyse
de données, en passant par l'automatisation des tâches. Une des raisons de sa
popularité réside dans sa syntaxe simple et intuitive, ainsi que dans la richesse
de ses bibliothèques standard et tierces. Deux exemples d'application pratique de
Python sont la création d'une horloge numérique et l'envoi de courriels.
Activité 1 : Créer une horloge numérique avec Python
Créer une horloge numérique en Python est une tâche relativement simple
grâce à la bibliothèque `tkinter`, qui permet de développer des interfaces
graphiques. Cette application peut afficher l'heure en temps réel et offre une
excellente opportunité d'apprendre à manipuler des événements et des widgets
dans une interface utilisateur.
A- Présentation de l’application :
Pour cette première activité je vais créer et concevoir une fenêtre d'horloge
numérique à l'aide de python. Il s'agit d'un projet utilisant principalement
« Tkinter », qui est un package intégré fourni avec Python. Tkinter est
essentiellement un package d'interface utilisateur graphique et possède
d'excellentes fonctionnalités qui peuvent être utilisées pour créer des
applications simples dans mon cas une « Horloge Numérique » qui sera
actualisée toutes les 200 microsecondes
4
Atelier Python : Création d’une horloge numérique et Envoie de E-mails
Figure 1: code source horloge
B- Description du code :
1. Importation des bibliothèques : J’ai utilisé deux bibliothèques dans ce
projet, les deux sont livrés avec Python donc pas besoin de les installer.
tkinter pour l'interface graphique et strftime pour analyser l'heure actuelle
au format Heure :Minutes :Secondes.
2. Module de Temps :
✓ Créer une fonction « timing() » et une variable « current_time »
✓ À la variable current_time on affecte la fonction [Link]("%H :
%M : %S") pour l’affichage de l'heure, des minutes et des secondes en
temps réel
✓ Configuration de l’horloge avec [Link](text=current_time)
5
Atelier Python : Création d’une horloge numérique et Envoie de E-mails
✓ Actualisation de l’horloge toutes les 200 microsecondes
[Link](200,timing)
3. Implémentation de l’horloge numérique
• Créer une variable « Tk() » qui stockera notre fenêtre tkinter
• Utiliser geometry() pour spécifier la dimension de la fenêtre
affichée
• Créer une horloge variable et stocker les données, la première
étiquette indiquera l'heure, la deuxième les minutes et la troisième
les secondes
• Donner un nom à l’horloge visible sur les chiffres
4. Stabiliser la fenêtre : Utiliser mainloop() pour empêcher la fenêtre
affichable de se fermer rapidement.
C- Exécution du programme (Output)
Figure 2: Horloge numérique sous Python
Activité 2 : Envoyé des emails via Gmail en python
Nous allons écrire un script en Python pour envoyer des [Link]
dispose d’une bibliothèque appelée smtplib qui est utilisée pour envoyer des
courriers électroniques. La bibliothèque smtplib est basée sur le protocole
SMTP (Simple Mail Transport Protocol). Le SMTP est utilisé pour envoyer des
courriers électroniques à d’autres personnes. Nous allons utiliser Gmail comme
fournisseur de messagerie. Google n'autorise pas la connexion des scripts. Ainsi
6
Atelier Python : Création d’une horloge numérique et Envoie de E-mails
nous devons modifier la sécurité de notre compte Gmail pour permettre aux
scripts de se connecter à notre compte Gmail.
A- Configuration du compte Gmail
Avant d’écrire le code pour envoyer un e-mail via Gmail, il faut accéder à
votre compte Google et activer la vérification en deux étapes. Ensuite, il faut
générer un mot de passe d’application qui sera utiliser dans le script Python à la
place de votre mot de passe Gmail normal.
Figure 3: Vérification en deux étapes
Figure 4: Création du mot de passe
7
Atelier Python : Création d’une horloge numérique et Envoie de E-mails
Séquence 1 : Envoyer un simple mail texte
Pour envoyer un email en utilisant Python, nous utilisons la bibliothèque
intégrée `smtplib`, qui permet d’envoyer des emails via le protocole SMTP
(Simple Mail Transfer Protocol). Cette bibliothèque définit un objet de session
client SMTP, permettant d'envoyer des emails à n’importe quel serveur Internet
disposant d’un démon d'écoute SMTP ou ESMTP (Extended Simple Mail
Transfer Protocol).
Figure 5: code source Mail simple texte
Figure 6: Résultat exécution du scripte python
8
Atelier Python : Création d’une horloge numérique et Envoie de E-mails
A- Descriptif du code
1- Import des bibliothèques nécessaires :
✓ smtplib est utilisé pour envoyer des emails via le protocole SMTP.
✓ MIMEMultipart et MIMEText sont utilisés pour créer le contenu de l'email.
2- Informations de connexion :
✓ from_address est l'adresse email de l'expéditeur.
✓ to_address est l'adresse email du destinataire.
✓ password est le mot de passe de l'adresse email de l'expéditeur.
3- Création du message :
• MIMEMultipart () crée un objet email multi-partie.
• Les champs From, To, et Subject sont définis pour le message.
4- Le corps du message est créé et attaché à l'email en tant que texte brut.
5- Connexion au serveur SMTP et envoi de l'email :
✓ Connexion au serveur SMTP avec l'adresse et le port.
✓ starttls()est utilisé pour démarrer une connexion sécurisée.
✓ Connexion au serveur avec les informations d'authentification.
✓ Conversion de l'email en chaîne de caractères.
✓ Envoi de l'email via le serveur SMTP.
6- Fermeture de la connexion avec le serveur SMTP.
9
Atelier Python : Création d’une horloge numérique et Envoie de E-mails
B- Exécution du programme (Output)
Figure 7:boite d'envoie mail texte
Figure 8: Réception du mail texte
10
Atelier Python : Création d’une horloge numérique et Envoie de E-mails
Séquence2 : envoyer un email avec une pièce jointe
Nous pouvons envoyer le courrier en utilisant HTML la bibliothèque appelée
[Link]. C'est une bibliothèque intégrée. La MIME est une norme utilisée
pour étendre le format des e-mails pour prendre en charge les programmes
d'application, la vidéo, les images, etc., Il y a deux classes dont nous avons
besoin de la [Link] module. Elles sont MIMEText et MIMEMultipart. Les pièces
jointes peuvent être des images, des pdf, des documents, des feuilles, etc. Base
MIME dans l' [Link] classe est utilisé pour ajouter des pièces jointes au
courrier
11
Atelier Python : Création d’une horloge numérique et Envoie de E-mails
Figure 9: Code Source envoie pièce jointe
Figure 10: Exécution du scripte
A- Descriptif du code :
1) Importer les bibliothèques nécessaires : Cette partie importe les
bibliothèques requises pour créer et envoyer l'email, ainsi que pour gérer
les pièces jointes.
2) Informations de connexion : Définir l'adresse email de l'expéditeur,
l'adresse email du destinataire et le mot de passe de l'expéditeur.
3) Création du message : Crée un objet de message email et définit les
champs : From, To, et Subject.
4) Ajout du corps de l'email : Ajoute le texte du corps du message à
l'email.
5) Ajout de la pièce jointe : Ouvre le fichier à joindre, le lit et le code en
base64, puis l'attache au message email.
6) Connexion au serveur SMTP et envoi de l'email : Se connecte au
serveur SMTP, authentifie l'expéditeur, envoie l'email avec la pièce jointe,
et ferme la connexion.
12
Atelier Python : Création d’une horloge numérique et Envoie de E-mails
B- Exécution du programme (Output)
Figure 11: Envoie de la pièce jointe
Figure 12: Réception de la pièce jointe
13
Atelier Python : Création d’une horloge numérique et Envoie de E-mails
Séquence 3 : Envoyez des courriers en masse à la fois
L'envoi en masse de mails avec Python peut être réalisé de manière
simple et efficace en utilisant la bibliothèque smtplib. De ce fait nous allons
envoyer une liste de destinataires à une variable « destinataires » dans notre cas
trois destinataires. Après la connexion au serveur le message sera envoyé à
chacun d’eux avec le même format.
Figure 13: Code source envoie de masse
Figure 14: Exécution scripte envoie de masse
14
Atelier Python : Création d’une horloge numérique et Envoie de E-mails
A- Descriptif du code
1. Import des bibliothèques nécessaires : Importation des bibliothèques
pour créer et envoyer des emails.
2. Informations de connexion : Définition des informations de connexion,
y compris l'adresse email de l'expéditeur, le mot de passe, le serveur
SMTP et le port.
3. Liste des destinataires : Création d'une liste des adresses email des
destinataires.
4. Création du message de base : Création d'un modèle d'email avec les
informations de l'expéditeur, le sujet et le corps du message.
5. Connexion au serveur SMTP : Connexion au serveur SMTP avec les
informations d'authentification.
6. Envoi des emails en boucle : Envoi des emails en boucle à chaque
destinataire dans la liste.
7. Fermeture de la connexion : Fermeture de la connexion avec le serveur
SMTP.
B- Exécution du programme (output) :
Figure 15: Envoie mails en masse
15
Atelier Python : Création d’une horloge numérique et Envoie de E-mails
Figure 16: Reception mail par un des destinataires
Conclusion
L'utilisation de Python pour des tâches comme la création d'une horloge
numérique et l'envoi de courriels met en lumière sa polyvalence et sa facilité
d'utilisation. Pour créer une horloge numérique, « tkinter » offre une manière
simple et efficace d'afficher l'heure en temps réel, tout en permettant de
développer des compétences en interface graphique. D'autre part, l'utilisation de
« smtplib » pour envoyer des courriels en masse montre comment Python peut
automatiser et optimiser des processus répétitifs, rendant les opérations
quotidiennes plus efficaces et moins sujettes aux erreurs humaines.
En somme, maîtriser ces outils et bibliothèques en Python permet non seulement
de simplifier des tâches courantes mais aussi d'exploiter pleinement le potentiel
de ce langage de programmation dans divers contextes professionnels et
personnels.
16