getInstalledVersion(); $this->line("Version installée : v{$installed}"); $this->line("Vérification des mises à jour..."); $latest = $updates->fetchLatestRelease(useCache: false); if (! $latest) { $this->error("Impossible de contacter le serveur de mises à jour."); return self::FAILURE; } if (! version_compare($latest['version'], $installed, '>')) { $this->info("L'application est déjà à jour (v{$installed})."); return self::SUCCESS; } $this->info("Mise à jour disponible : v{$installed} → v{$latest['version']}"); if ($latest['body']) { $this->line($latest['body']); } if ($this->option('check')) { return self::SUCCESS; } if (! $this->option('force') && ! $this->confirm('Procéder à la mise à jour ?', true)) { return self::SUCCESS; } $this->line(""); try { $updates->applyUpdate($latest, fn ($msg) => $this->line($msg)); } catch (\Exception $e) { $this->error("La mise à jour a échoué : " . $e->getMessage()); $this->warn("Vérifiez les sauvegardes dans storage/app/backups/ pour une restauration manuelle."); return self::FAILURE; } return self::SUCCESS; } }