buildUrl($job); // À implémenter selon votre logique $response = $this->httpClient->request('GET', $url); $crawler = new Crawler($response->getContent()); $images = $crawler->filter('img.manga-page'); // Adapter selon le site cible $pageNumber = 1; $images->each(function (Crawler $image) use ($job, $pageNumber) { $imageUrl = new ImageUrl($image->attr('src')); $job->addPage(new PageNumber($pageNumber), $imageUrl); $this->eventDispatcher->dispatch( new PageScrapingProgressed($job->getId(), $job->getProgress()) ); $pageNumber++; }); $this->eventDispatcher->dispatch( new ChapterScrapingCompleted($job->getId(), $job->getPages()) ); } public function supports(string $sourceType): bool { return $sourceType === 'html'; } }