La technique Pomodoro est une technique de gestion du temps développée par Francesco Cirillo. Elle consiste à utiliser un minuteur pour diviser le travail en intervalles de 25 minutes séparés par une pause de cinq minutes. Une fois que vous avez effectué ce cycle quatre fois, vous pouvez prendre une pause plus longue de 20 minutes.


La technique Pomodoro augmente la productivité, élimine les distractions et accroît la concentration d’un individu sur son travail. Cette technique permet de se débarrasser du multitâche et de récompenser les pauses. Cela vous aide à rester détendu et motivé pour poursuivre votre travail avec dévouement.

Le module Tkinter et Math

Pour construire l’application Pomodoro Timer, vous avez besoin de Tkinter et du module Math. Tkinter est la bibliothèque standard d’interface graphique pour Python. Elle offre une variété de widgets tels que des boutons, des étiquettes et des zones de texte, afin que vous puissiez développer des applications en un rien de temps. Pour installer Tkinter, ouvrez un terminal et exécutez :

pip install tkinter

Le module Math fait partie de la bibliothèque Python standard et est très utile pour effectuer des calculs mathématiques. Il comprend des fonctions arithmétiques, trigonométriques, exponentielles, logarithmiques et utilitaires, ainsi que des constantes telles que pi et e.

Comment créer une application de minutage Pomodoro en utilisant Python

Vous pouvez trouver le code source de l’application Pomodoro Timer App Using Python dans ce dépôt GitHub.

Commencez par importer le module Tkinter et le module Math. Initialiser les variables Pomodoro work efficiency time, break time, long break time, counter, et timer. Vous utiliserez la variable counter, repspour connaître le nombre de cycles Pomodoro effectués par le minuteur.

Lire  9 solutions à essayer lorsque Steam est bloqué sur "Vérification de l'installation&quot ; pour Windows

 from tkinter import *
import math

WORK_MIN = 25
SHORT_BREAK_MIN = 5
LONG_BREAK_MIN = 20
reps = 0
timer = None

Définir une fonction, reset_timer(). Commencez par définir le Démarrer sur normal pour l’activer ; vous verrez plus tard où le désactiver.

Invoquez la méthode after_cancel() pour arrêter la fonction de minuterie. Utilisez la méthode item_config() sur le canevas pour remettre à zéro la minuterie affichée à l’écran. Remplacez le texte du titre par « Timer » et colorez-le en violet. Effacez toutes les coches présentes en remplaçant le texte par une chaîne vide.

Faire référence à la variable globale reps et la remettre à zéro.

 def reset_timer():
   start_button["state"] = "normal"
    root.after_cancel(timer)
    canvas.itemconfig(timer_text, text="00:00")
    title_label.config(text="Timer", fg=#A020F0')
    check_marks.config(text="")
    global reps
    reps = 0

Définir une fonction start_timer(). C’est ici que vous désactiverez la fonction Démarrer afin d’empêcher l’utilisateur de cliquer à nouveau sur ce bouton.

Poursuivre en référençant l’outil global représentants et l’incrémenter. Obtenez le nombre de secondes pour effectuer votre travail, la pause courte et la pause longue. Si la variable compteur ne laisse aucun reste lorsqu’elle est divisée par huit (quatre cycles Pomodoro dont un cycle consiste en une séance de travail et une courte pause), démarrez le minuteur de la pause longue et affichez-le à l’écran en couleur bleue.

De même, si le reste est égal à zéro lorsqu’il est divisé par deux, démarrez et affichez le chronomètre de la pause courte en couleur verte. Dans le cas contraire, on démarre le chronomètre de travail et on l’affiche en rouge.

 def start_timer():
   start_button["state"] = "disabled"

Définir une fonction, count_down() qui accepte le comptage. Définissez la variable de comptage minimum comme le petit entier le plus proche du comptage divisé par 60. Définissez le second comptage comme le module du comptage par 60. Si les secondes sont inférieures à 10, afficher un zéro supplémentaire devant. Réglez le canevas pour qu’il affiche les minutes et l’heure actuelles telles que calculées ci-dessus.

Lire  Tout ce que vous devez savoir sur la console de jeux Playdate

Si le décompte est supérieur à zéro, référencer le timer global et lui demander de rappeler la fonction count_down elle-même après un délai d’une seconde et de décrémenter le décompte d’une unité.

 def count_down(count):
    count_min = math.floor(count / 60)
    count_sec = count % 60

    if count_sec < 10:
        count_sec = f"0{count_sec}"

    canvas.itemconfig(timer_text, text=f"{count_min}:{count_sec}")

    if count > 0:
        global timer
        timer = root.after(1000, count_down, count - 1)

Sinon, appeler la fonction start_timer() , mettre les tics à zéro et calculer les sessions de travail comme le plus petit entier le plus proche du compteur divisé par deux. Interrogez les sessions de travail et augmentez les points de contrôle de manière appropriée. Configurez la fonction check_marks() pour afficher le texte de la variable « tick mark ».

     else:
        start_timer()
        marks = ""
        work_sessions = math.floor(reps / 2)

        for _ in range(work_sessions):
            marks += "✓"

        check_marks.config(text=marks)

Initialiser l’instance Tkinter et afficher la fenêtre racine. Définissez le titre de votre application et configurez-le de manière à ce qu’il ait un peu d’espacement dans les deux sens. Définissez l’arrière-plan en jaune clair.

 root = Tk()
root.title("Pomodoro Timer Application")
root.config(padx=100, pady=50, bg="#f7f5dd")

Définissez un widget d’étiquette qui affiche le texte comme Timer. Définissez la couleur de la police, la couleur d’arrière-plan et les styles de police. Utilisez le gestionnaire de mise en page Grille pour organiser les éléments de l’application. Placez l’étiquette de titre sur la première ligne et la deuxième colonne.

 title_label = Label(text="Timer", fg='#A020F0', bg="#f7f5dd", font=("Arial", 50))
title_label.grid(column=1, row=0)

Définissez un canevas d’une largeur et d’une hauteur de 200×224 pixels. Fixez l’épaisseur de la bordure à zéro. Utilisez le widget PhotoImage pour afficher l’image d’une tomate sur un canevas. Utilisez le widget create_image() pour insérer l’image dans le canevas.

Lire  Comment prolonger le délai de désenvoi d'Apple Mail sur l'iPhone, l'iPad et le Mac ?

Utiliser la méthode create_text() méthode pour créer le texte de l’heure dans mm:ss format. Définissez la largeur, la hauteur, le texte, la couleur et les styles de police du compte à rebours. Placez-le dans la deuxième ligne et la deuxième colonne de la grille.

 canvas = Canvas(width=200, height=224, highlightthickness=0)
tomato_img = PhotoImage(file="tomato.png")
canvas.create_image(100, 112, image=tomato_img)
timer_text = canvas.create_text(100, 130, text="00:00", fill="white", font=("Arial", 35, "bold"))
canvas.grid(column=1, row=1)

Définissez deux boutons, bouton_démarreret bouton_réinitialisation. Définissez le texte qu’il doit afficher, sans bordure, la fonction qu’il doit exécuter lorsqu’il est cliqué, la couleur d’arrière-plan et les styles de police. Placez le bouton Démarrer dans la première colonne, deuxième ligne, et le bouton Réinitialiser dans la même colonne, troisième ligne.

 start_button = Button(text="Start", highlightthickness=0, command=start_timer, bg="#e7305b", font=("arial", 15, "bold"))
start_button.grid(column=0, row=2)

reset_button = Button(text="Reset", highlightthickness=0, command = reset_timer, bg="#e7305b", font=("arial", 15, "bold"))
reset_button.grid(column=2, row=2)

Créez une étiquette qui affiche initialement les coches comme étant nulles. Définissez la couleur de la police, la couleur d’arrière-plan et les styles de police. Placez-la dans la deuxième colonne et la quatrième ligne, sous les boutons du milieu.

Le mainloop() indique à Python de lancer la boucle d’événements Tkinter et d’écouter les événements jusqu’à ce que vous fermiez la fenêtre.

 check_marks = Label(text="", fg='#00FF00', bg="#f7f5dd", font=("arial", 25, "bold"))
check_marks.grid(column=1, row=3)

root.mainloop()

Rassemblez tout le code et essayez l’application Pomodoro Timer.

Exemple de sortie de l’application Pomodoro Timer

Lorsque vous exécutez ce programme, vous voyez une fenêtre avec le titre « Timer » et un compte à rebours réglé sur zéro. Lorsque vous cliquez sur le bouton Démarrer, le titre devient « Travail » et le compte à rebours commence.

Pomodoro Timer App Work Screen

Après exactement 25 minutes, la coche apparaît et l’application lance le minuteur de pause courte de cinq minutes.

Pomodoro Timer App Short Break Screen

Après quatre cycles Pomodoro, le minuteur Pause longue se met en place pour 20 minutes. Une fois ce temps écoulé, le minuteur de travail recommence.

Pomodoro Timer App Long Break Screen

Les applications que vous pouvez créer en utilisant les mathématiques et le module Tkinter

Il existe une pléthore d’applications que vous pouvez créer en utilisant Tkinter et le module Math. Les débutants peuvent explorer la plateforme en construisant une calculatrice. La calculatrice peut être de différents types : arithmétique, géométrique, graphique et financière. Vous pouvez créer des flashcards et des générateurs de problèmes mathématiques que l’utilisateur devra résoudre.

Un convertisseur de système de numération, une trigonométrie et une boîte à outils de statistiques peuvent s’avérer utiles pour pratiquer les mathématiques d’une manière plus simple et plus amusante.