addOption('type', 't', InputOption::VALUE_REQUIRED, 'Type de notification : info, success, error, warning', 'info') ->addOption('message', 'm', InputOption::VALUE_REQUIRED, 'Message à envoyer', 'Notification de test depuis Mangarr'); } protected function execute(InputInterface $input, OutputInterface $output): int { $type = $input->getOption('type'); $message = $input->getOption('message'); $allowed = ['info', 'success', 'error', 'warning']; if (!in_array($type, $allowed, true)) { $output->writeln(sprintf('Type invalide "%s". Valeurs acceptées : %s', $type, implode(', ', $allowed))); return Command::FAILURE; } match ($type) { 'success' => $this->notification->sendSuccess($message), 'error' => $this->notification->sendError($message), 'warning' => $this->notification->sendWarning($message), default => $this->notification->sendInfo($message), }; $output->writeln(sprintf('[%s] Notification envoyée : %s', strtoupper($type), $message)); return Command::SUCCESS; } }