Guide des technologies

Planifier l’exécution d’un script Python avec le Planificateur de tâches Windows

6 min read Automatisation Mis à jour 19 Sep 2025
Planifier un script Python sous Windows
Planifier un script Python sous Windows

Schedule Python Scripts

Important : adaptez les chemins vers votre installation Python et vers vos scripts. Si vous utilisez un environnement virtuel, pointez vers l’exécutable python de cet environnement.

Pourquoi automatiser un script Python

Automatiser évite les oublis et garantit une exécution régulière pour les tâches de sauvegarde, rapports, nettoyage ou intégration. Un script programmé s’exécute même si vous n’êtes pas connecté, si les options sont correctement configurées.

Planifier un script Python directement dans le Planificateur de tâches

Le Planificateur de tâches Windows permet d’exécuter un programme selon un calendrier quotidien, hebdomadaire ou personnalisé. Pour l’ouvrir : appuyez sur Win + R, tapez taskschd.msc puis Entrée.

Open Task Scheduler

  1. Dans le volet droit, cliquez sur l’onglet Actions puis sur “Créer une tâche de base…” pour lancer l’assistant.

Create Basic Task

  1. Donnez un nom et une description à la tâche. Choisissez un libellé explicite (ex. “Backup daily — script Python”).

Provide Task Name Description

  1. Choisissez la fréquence de déclenchement (Quotidien, Hebdomadaire, Une seule fois, etc.) et définissez la date/heure de début.

When You Want Task To Start

  1. Dans la section Action, sélectionnez “Démarrer un programme”.

Select Action To Be Performed

  1. Dans le champ Programme/script, indiquez le chemin vers votre exécutable Python (par ex. C:\Python39\python.exe). Dans Ajouter des arguments, indiquez le chemin complet vers le script, par ex. “C:\scripts\mon_script.py”.

Specify Python Executable Path

  1. Passez en revue les paramètres, puis cliquez sur Terminer pour créer la tâche.

Review The Settings

Votre script Python est maintenant programmé pour s’exécuter automatiquement à l’heure définie.

Méthode alternative : planifier via un fichier batch (.bat)

Créer un fichier batch est pratique pour éviter les problèmes de chemins et pour ajouter des étapes de préparation (activation d’env virtuel, journalisation, redirection d’erreurs).

Ouvrez le Bloc-notes et collez :

@echo off
"C:\Path\to\python.exe" "C:\Path\to\your_script.py"
pause

Remplacez les chemins par ceux de votre machine. Le pause est utile en phase de test pour voir la sortie. Pour une exécution en arrière-plan, retirez pause.

Si vous ne connaissez pas l’emplacement de Python, trouvez-le avec l’invite de commandes :

where python

Check Python Path

Si plusieurs chemins sont listés, choisissez l’exécutable correspondant à l’environnement souhaité (système vs. venv). Enregistrez le fichier avec l’extension .bat puis planifiez ce .bat dans le Planificateur de tâches comme décrit précédemment.

Autoriser la tâche à s’exécuter automatiquement

Pour garantir l’exécution sans interruption : ouvrez la Bibliothèque du Planificateur de tâches, faites un clic droit sur la tâche et choisissez Propriétés.

Open Task Properties

  • Onglet Général : cochez “Exécuter que l’utilisateur soit connecté ou non”. Cochez aussi “Exécuter avec les privilèges les plus élevés” si le script nécessite des droits administrateur.

Update Task Properties

  • Onglet Conditions : décochez “Démarrer la tâche seulement si l’ordinateur est sur courant alternatif” si vous voulez exécuter sur batterie (ordinateur portable).

Update Conditional Task Properties

Cliquez sur OK et, si demandé, entrez les identifiants de l’utilisateur. La tâche est alors enregistrée pour s’exécuter en arrière-plan.

Vérifier l’exécution planifiée

Pour tester la tâche immédiatement, dans le Planificateur faites un clic droit sur la tâche et choisissez Exécuter.

Run Task To Confirm Working

Consultez la sortie attendue du script : fichiers journaux, fichiers générés, ou l’onglet Historique de la tâche pour voir le statut et les erreurs.

Verify Task Output

Si la tâche échoue : revérifiez le chemin vers python, le chemin du script, les variables d’environnement et les permissions.

Dépannage rapide (runbook)

  • Tâche marquée “Terminé” mais script n’a rien produit : vérifier la redirection stdout/stderr et chemins relatifs. Utilisez des chemins absolus.
  • Erreur d’accès refusé : activez “Exécuter avec les privilèges les plus élevés” et vérifiez le compte utilisateur.
  • Module introuvable : assurez-vous d’utiliser le Python du bon environnement virtuel.
  • Tâche ne démarre pas à l’heure : contrôlez les paramètres de Conditions (veille, alimentation) et l’onglet Déclencheurs.

Étapes de rollback : désactiver la tâche, corriger le script, tester manuellement, puis réactiver.

Checklist par rôle

  • Utilisateur / Développeur :

    • Tester le script manuellement.
    • Utiliser chemins absolus.
    • Consigner la sortie dans un fichier log.
  • Administrateur système :

    • Vérifier les permissions du compte de service.
    • Confirmer les stratégies de groupe qui pourraient bloquer l’exécution.
    • Surveiller l’utilisation CPU/mémoire si la tâche est fréquente.

Mini-méthodologie pour une mise en production sûre

  1. Développer et tester localement.
  2. Ajouter journalisation et gestion d’erreurs robustes.
  3. Créer un fichier batch si besoin d’initialisation (activation venv, export variables).
  4. Planifier en environnement de test et vérifier via l’onglet Historique.
  5. Promouvoir en production et surveiller les premières exécutions.

Critères d’acceptation

  • La tâche se lance au déclencheur configuré.
  • Le script s’exécute sans intervention humaine.
  • Les sorties attendues (fichiers/logs) sont créées et joignent des horodatages.
  • Les erreurs sont consignées et alertées si critique.

Diagramme de décision

flowchart TD
  A[Besoin d'automatisation ?] -->|Oui| B{Utiliser Planificateur Windows ?}
  B --> |Oui| C[Planifier directement ou via .bat]
  B --> |Non| D[Utiliser Docker/CI ou un service cloud]
  C --> E[Tester localement]
  E --> F[Passer en production]

Cas où cette méthode échoue ou n’est pas idéale

  • Environnements éphémères (containers, fonctions serverless) : préférez Docker, Kubernetes CronJobs ou des services cloud.
  • Besoin de haute disponibilité et de répartition : préférez un orchestrateur ou un planificateur centralisé.

Glossaire (une ligne)

  • Planificateur de tâches : utilitaire Windows pour planifier l’exécution de programmes à des moments précis.
  • Environnement virtuel (venv) : instance isolée de Python pour gérer des dépendances propres au projet.

Critères de test simples

  • Test 1 : exécution manuelle du script retourne code 0.
  • Test 2 : exécution planifiée crée un fichier log horodaté.
  • Test 3 : simulation d’erreur — le log contient la trace d’exception.

Bonnes pratiques et sécurité

  • Utilisez des comptes dédiés si la tâche manipule des données sensibles.
  • Évitez d’y placer des mots de passe en clair. Préférez des variables d’environnement ou un coffre-fort de secrets.
  • Limitez les privilèges du compte si le script n’a pas besoin d’accès administrateur.

Résumé

Le Planificateur de tâches Windows est une solution simple et intégrée pour automatiser des scripts Python. Choisissez entre planifier Python directement ou appeler un fichier .bat selon vos besoins. Testez, journalisez et accordez les permissions avec soin pour garantir une exécution fiable.

Notes importantes : si votre flux nécessite portabilité ou scalabilité, évaluez Docker ou des services cloud pour une orchestration plus robuste.

Auteur
Édition

Matériaux similaires

Installer et utiliser Podman sur Debian 11
Conteneurs

Installer et utiliser Podman sur Debian 11

Guide pratique : apt-pinning sur Debian
Administration système

Guide pratique : apt-pinning sur Debian

OptiScaler : activer FSR 4 dans n'importe quel jeu
Jeux PC

OptiScaler : activer FSR 4 dans n'importe quel jeu

Dansguardian + Squid NTLM sur Debian Etch
réseau

Dansguardian + Squid NTLM sur Debian Etch

Corriger l'erreur d'installation Android sur SD
Android, Dépannage

Corriger l'erreur d'installation Android sur SD

KNetAttach et remote:/ — Dossiers réseau KDE
Tutoriel

KNetAttach et remote:/ — Dossiers réseau KDE