ext.jeremy.guillot@maxicoffee.domains
41ca08f20e
feat: notification system via Mercure for scraping events
...
- NotificationInterface: add sendInfo() and sendWarning() levels
- SymfonyNotification: implement new levels (publishes to 'notifications' topic)
- ChapterScrapingStarted: carry mangaTitle + chapterNumber, now dispatched
- ScrapeChapterHandler: dispatch ChapterScrapingStarted before scraping loop
- ScrapingEventSubscriber: wire NotificationInterface for started/scraped/failed events
- useMercureNotifications: new global Vue composable subscribing to 'notifications' topic
- App.vue: mount useMercureNotifications() at app root
- SendTestNotificationCommand: `app:notify:test --type --message` for dev/prod testing
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-12 00:57:21 +01:00
ext.jeremy.guillot@maxicoffee.domains
95f224d69a
feat: enrich activity job display with manga/chapter context
...
- Add mangaTitle to ScrapingJob context at creation time
- Fix job.js constructor to map failureReason, attempts, maxAttempts, context from API
- JobItem: show readable type label, manga name, chapter number, source and attempts counter
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-11 22:23:09 +01:00
ext.jeremy.guillot@maxicoffee.domains
939f6da0c4
fix: test deploy
Deploy / deploy (push) Failing after 16s
2026-03-10 22:33:26 +01:00
ext.jeremy.guillot@maxicoffee.domains
c311cfe80c
refactor(scraping): DDD refactoring — stockage images individuelles
...
Le domaine Scraping ne génère plus d'archives CBZ ni ne modifie les
entités du domaine Manga directement. Il scrape, stocke les images
individuellement, et émet un événement partagé.
- Suppression : CbzGeneratorInterface, CbzGenerator, CbzGenerationRequest,
CbzPath, CbzGenerationException
- Suppression : save() de ChapterRepositoryInterface (Scraping)
- Suppression : cbzPath du modèle Chapter (Scraping)
- Ajout : ImageStorageInterface + LocalImageStorage
(stockage dans {MANGA_DATA_PATH}/pages/{chapterId}/)
- ScrapeChapterHandler utilise ImageStorage au lieu du générateur CBZ
- ChapterScraped déplacé dans Domain/Shared/Domain/Event/
avec jobId, chapterId, pagesDirectory, pageCount
- Routing Messenger ajouté
- Ajout : ChapterScrapedEventListener + ChapterScrapedMessageHandler
pour mettre à jour Chapter.pagesDirectory via le Repository Manga
- LegacyChapterRepository en dual-mode :
pagesDirectory en priorité, fallback cbzPath (backward compat)
- Requêtes prev/next : filtrent pagesDirectory IS NOT NULL OR cbzPath IS NOT NULL
- ChapterContext expose pagesDirectory
- phparkitect.php : App\Domain\Shared\Domain\Event autorisé dans
les couches Application (correction violations pré-existantes
ChapterImported/VolumeImported + nouvelle ChapterScraped)
- 218/218 tests passent (+3 nouveaux)
- InMemoryImageStorage créé pour les tests unitaires
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-09 20:52:16 +01:00
ext.jeremy.guillot@maxicoffee.domains
7506a7a3c1
style: apply php-cs-fixer formatting (PSR-12)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-09 20:46:59 +01:00
ext.jeremy.guillot@maxicoffee.domains
3170a7c60e
feat: analyse import + all tests fixed
2025-10-15 16:14:15 +02:00
ext.jeremy.guillot@maxicoffee.domains
f09f744a9b
feat: ajout de la fonctionnalité de suppression de mangas, incluant une modale de confirmation pour l'utilisateur, la gestion des erreurs et l'intégration avec l'API pour supprimer les mangas et leurs chapitres associés. Mise à jour des composants Vue et ajout de tests pour valider cette nouvelle fonctionnalité.
2025-07-23 16:42:54 +02:00
ext.jeremy.guillot@maxicoffee.domains
be283833e9
feat: amélioration du service de téléchargement d'images, ajout de la gestion des types de contenu, création de fichiers temporaires pour le traitement des images, et détection des formats d'image. La sauvegarde des images est maintenant garantie avec l'extension JPG. Gestion des erreurs améliorée lors de la création et de la sauvegarde des ressources d'image.
2025-07-23 15:11:52 +02:00
ext.jeremy.guillot@maxicoffee.domains
00d63dffeb
feat: ajout de la fonctionnalité de monitoring des mangas, incluant l'activation et la désactivation du suivi, la synchronisation des chapitres, et la mise à jour de l'API pour gérer ces nouvelles actions. Création de nouveaux composants Vue pour le rafraîchissement des chapitres et l'affichage des notifications. Intégration de tests unitaires pour valider le bon fonctionnement de ces fonctionnalités.
2025-07-22 15:57:25 +02:00
ext.jeremy.guillot@maxicoffee.domains
b456f9304d
feat: ajout d'une nouvelle infrastructure de scraping avec des scrapers pour HTML, HTML avancé et JavaScript, ainsi qu'une factory pour gérer leur création et leur sélection. Mise à jour des gestionnaires de commandes pour intégrer cette nouvelle architecture et améliorer la gestion des erreurs lors du scraping des chapitres.
2025-07-08 15:30:22 +02:00
ext.jeremy.guillot@maxicoffee.domains
cbb62989d4
feat: ajout de la fonctionnalité de test de configuration de scraper, incluant la mise à jour de l'API pour tester les configurations en temps réel, la gestion des erreurs détaillées et l'intégration des tests unitaires pour valider le bon fonctionnement de cette nouvelle fonctionnalité.
2025-07-06 17:01:04 +02:00
ext.jeremy.guillot@maxicoffee.domains
a6ca8a2c9a
feat: ajout de la gestion des slugs alternatifs pour le scraping des chapitres, mise à jour du service de scraping pour essayer plusieurs slugs, et amélioration de la configuration des services pour le dépôt de chapitres et le service de fichiers.
2025-07-03 18:41:13 +02:00
ext.jeremy.guillot@maxicoffee.domains
7fe4ac0d3b
refactor: remplacement du gestionnaire de commandes SymfonySetMangaPreferredSourcesHandler par SetMangaPreferredSourcesHandler pour simplifier le traitement des sources préférées des mangas
2025-06-29 16:19:54 +02:00
ext.jeremy.guillot@maxicoffee.domains
4dc6e5cfab
fix: preferred chapter fix
2025-06-26 14:51:00 +02:00
ext.jeremy.guillot@maxicoffee.domains
75f8e1686c
feat: ajout de la gestion des sources préférées pour les mangas, incluant la récupération et la configuration des sources via l'API, ainsi que l'intégration d'une modale pour l'interface utilisateur.
2025-06-20 15:33:54 +02:00
ext.jeremy.guillot@maxicoffee.domains
c0bd9c69b1
feat: mise à jour de la gestion des chapitres en remplaçant les types d'identifiants par des flottants pour une meilleure cohérence, ajout de la documentation pour les méthodes de recherche de chapitres, et amélioration de la gestion des exceptions lors de la récupération des chapitres.
2025-04-05 11:43:40 +02:00
ext.jeremy.guillot@maxicoffee.domains
5928cfd5f0
feat: ajout de la gestion des chapitres dans le store Manga avec des actions pour charger et mettre à jour la disponibilité des chapitres, intégration d'un écouteur Mercure pour les mises à jour en temps réel, et amélioration des composants d'interface utilisateur pour gérer les états de chargement et d'erreur.
2025-04-04 16:06:32 +02:00
ext.jeremy.guillot@maxicoffee.domains
c9f1771522
feat: refactorisation de la gestion du scraping des chapitres en remplaçant les identifiants de manga et de chapitre par un identifiant de chapitre unique, amélioration de la récupération des sources préférées et ajout de la gestion des erreurs pour les échecs de scraping.
2025-04-03 16:34:30 +02:00
ext.jeremy.guillot@maxicoffee.domains
0111f1b5f1
feat: ajout de la gestion des chapitres de manga, incluant la récupération et la sauvegarde des chapitres en français et en anglais, ainsi que l'optimisation de la logique de sauvegarde pour éviter les doublons
2025-04-01 16:01:55 +02:00
ext.jeremy.guillot@maxicoffee.domains
4d1d5b9f21
fix: suppression d'une exception de test dans le gestionnaire de chapitres pour améliorer la gestion des requêtes de scraping
2025-03-29 17:23:41 +01:00
ext.jeremy.guillot@maxicoffee.domains
d7ccc1e603
feat: ajout de la gestion des jobs avec création, récupération et filtrage via l'API, incluant des entités et des mappers pour les échecs et les jobs
2025-03-29 15:15:14 +01:00
ext.jeremy.guillot@maxicoffee.domains
d7088b14c2
feat: refonte du gestionnaire de chapitres pour intégrer la génération de fichiers CBZ, le téléchargement d'images en lot et la gestion des requêtes de scraping, avec mise à jour des interfaces et des modèles associés
2025-03-28 20:42:21 +01:00
ext.jeremy.guillot@maxicoffee.domains
e444d79101
feat: ajout de phparkitect + début de config pour les domains
2025-03-22 17:16:26 +01:00
ext.jeremy.guillot@maxicoffee.domains
55945adc53
feat: Reader beginning
2025-02-16 16:15:42 +01:00
ext.jeremy.guillot@maxicoffee.domains
e90c0a140e
feat: Rangement des endpoints dans la doc Api Platform
2025-02-12 17:18:16 +01:00
ext.jeremy.guillot@maxicoffee.domains
879b8fa2dc
feat: endpoint FetchMangaChapters et tests
2025-02-11 18:00:49 +01:00
ext.jeremy.guillot@maxicoffee.domains
073439163b
feat: finalizing Scraping endpoint
2025-02-10 17:28:49 +01:00
ext.jeremy.guillot@maxicoffee.domains
0374ab0e46
feat: scraping endpoints, job persistence, firsts unit tests, legacy entities usage
2025-02-07 11:56:51 +01:00
ext.jeremy.guillot@maxicoffee.domains
c55cd62ec7
fix: phpcs-fixer
2025-02-05 21:32:04 +01:00
ext.jeremy.guillot@maxicoffee.domains
6bc3696190
feat: firsts endpoints and firsts tests
2025-02-05 16:54:13 +01:00
ext.jeremy.guillot@maxicoffee.domains
89570ad951
feat: firsts unit tests for ScrapeChapterHandler.php
2025-02-03 10:38:53 +01:00
ext.jeremy.guillot@maxicoffee.domains
0a8e6786a8
feat: suite du passage en DDD de Scraping
2025-02-01 15:28:58 +01:00
ext.jeremy.guillot@maxicoffee.domains
0c8ca6cca9
feat: debut rerefonte DDD CQRS
2025-02-01 15:28:58 +01:00