#!/usr/bin/env php !isset($applied[basename($f)]))); if (empty($pending)) { echo " (aucune migration de contenu en attente)\n"; exit(0); } file_put_contents($maintenanceFlag, date('Y-m-d H:i:s')); echo "→ Mode maintenance activé\n"; $count = 0; $errors = 0; foreach ($pending as $file) { $name = basename($file); echo " → $name ... "; try { require $file; $applied[$name] = date('Y-m-d H:i:s'); file_put_contents( $trackFile, json_encode($applied, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "\n" ); echo "✓\n"; $count++; } catch (Throwable $e) { echo "✗ " . $e->getMessage() . "\n"; $errors++; break; } } if (file_exists($maintenanceFlag)) { unlink($maintenanceFlag); } echo "→ Mode maintenance désactivé\n"; echo "→ $count migration(s) appliquée(s)" . ($errors ? ", $errors erreur(s)" : '') . ".\n"; exit($errors > 0 ? 1 : 0);