Automatisation des tâches en PHP : 5 scripts puissants pour gagner des heures de travail

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Votre assistant personnel en PHP : pourquoi l'automatisation est un superpouvoir



Imaginez un lundi matin. Vous arrivez au bureau, ouvrez votre ordinateur portable, et toute la routine est déjà faite : les sauvegardes sont téléchargées sur le serveur, les rappels sont envoyés aux clients, et les rapports CSV d'hier sont déjà traités et joliment emballés en PDF. Cela semble fantastique ? Et pourtant non.



La plupart des développeurs PHP (et pas seulement) passent jusqu'à 30 % de leur temps de travail sur des tâches identiques et répétitives. L'automatisation en PHP n'est pas de la magie, mais une utilisation judicieuse des fonctions intégrées et de quelques bibliothèques. Aujourd'hui, je vais vous montrer 5 scripts réels que vous pourrez exécuter dès 10 minutes après avoir lu cet article.



Au fait, si l'automatisation en Python vous intéresse, nous avons d'excellents contenus sur PythonLib. Mais aujourd'hui, nous parlons de PHP, car il règne toujours en maître côté serveur (jusqu'à 77 % des sites fonctionnent avec).



1. Nettoyage et archivage automatiques des anciens logs



Les logs poussent comme une boule de neige. Hier encore, le fichier error.log pesait 50 Mo, et aujourd'hui déjà 500. Le nettoyage manuel est une douleur. Écrivons un script PHP pour automatiser cette tâche.



Script : LogRotator



<?phpclass LogRotator {    private string $logDir;    private string $archiveDir;    private int $maxFileAgeDays;

public function __construct(string $logDir, string $archiveDir, int $maxFileAgeDays = 30) { $this->logDir = rtrim($logDir, '/'); $this->archiveDir = rtrim($archiveDir, '/'); $this->maxFileAgeDays = $maxFileAgeDays; }

public function rotate(): void { if (!is_dir($this->archiveDir)) { mkdir($this->archiveDir, 0755, true); }

$files = glob($this->logDir . '/*.log'); foreach ($files as $file) { $fileAge = time() - filemtime($file); if ($fileAge > $this->maxFileAgeDays * 86400) { $archiveName = $this->archiveDir . '/' . basename($file) . '.' . date('Ymd') . '.gz'; $gzData = gzencode(file_get_contents($file), 9); file_put_contents($archiveName, $gzData); unlink($file); echo "Archivé : " . basename($file) . PHP_EOL; } } }}

// Utilisation :$rotator = new LogRotator('/var/log/myapp', '/backup/logs/archive');$rotator->rotate();?>


Ce script d'automatisation PHP fait trois choses : il trouve les fichiers de plus de 30 jours, les compresse en GZIP et les déplace dans l'archive. Exécutez-le via CRON une fois par semaine — et oubliez le « disque plein ».



2. Envoi massif de notifications e-mail personnalisées



Supposons que vous ayez une boutique en ligne. Un client passe une commande et vous devez lui envoyer un e-mail avec les détails. Le faire manuellement est stupide. L'automatisation des tâches en PHP avec la fonction intégrée mail() ou PHPMailer résoudra le problème.



Exemple : envoi de rappels pour les paniers abandonnés



<?phpfunction sendAbandonedCartReminder(string $email, string $customerName, array $items): bool {    $subject = "Vous avez oublié votre panier, $customerName ! 🛒";        $message = "<h2>Bonjour, $customerName !</h2>";    $message .= "<p>Vous avez laissé ces articles :</p><ul>";        foreach ($items as $item) {        $message .= "<li>{$item['name']} - {$item['price']} roubles</li>";    }        $message .= "</ul><p><a href='https://yourshop.com/cart'>Retourner au panier</a></p>";        $headers = "MIME-Version: 1.0\\r";    $headers .= "Content-Type: text/html; charset=UTF-8\\r";    $headers .= "From: shop@yourshop.com\\r";        return mail($email, $subject, $message, $headers);}

// Envoi massif :$customers = [ ['email' => 'ivan@example.com', 'name' => 'Ivan']

Blogs

Book Recommendations