Surveille les nouvelles sorties des magazines Disney/Picsou sur direct-editeurs.fr et envoie une notification Discord à chaque nouveau numéro.
Le watcher découvre automatiquement tous les magazines Disney en interrogeant à la fois direct-editeurs.fr (riche et structuré) et catalogueproduits.mlp.fr (qui rattrape les titres absents de DE comme Picsou Soir, Destin de Picsou, Nouvelle Jeunesse de Picsou…) avec les mots-clés picsou, mickey, mickey parade, fantomiald, donald. Les pochettes promo et les magazines retirés du catalogue ("trop vieux") sont automatiquement écartés. Aucune liste à maintenir : un nouveau hors-série Disney apparaît dans le catalogue → il sera notifié au run suivant.
Magazines principaux (avec emoji/couleur dédiés via OVERRIDES dans check_magazines.py) :
| Magazine |
|---|
| 💰 Picsou Magazine |
| 🦆 Super Picsou Géant |
| 🐭 Journal de Mickey |
| ⭐ Journal de Mickey HS |
| 🦸 Les Chroniques de Fantomiald |
| 💎 Les Trésors de Picsou |
| 🧒 Mickey Junior |
| 🏆 Le Meilleur du Journal de Mickey |
Tous les autres magazines / HS découverts sont notifiés avec un emoji 🦆 par défaut.
En plus des magazines, le watcher surveille les albums BD Disney édités par Glénat (Picsou, Mickey, Donald, Fantomiald, Romano Scarpa, Don Rosa…) via la page glenat.com/livres-glenat-disney/. Le slug éditeur /glenat-disney/ filtre le Disney sans ambiguïté.
Chaque album peut déclencher deux notifications distinctes, parfois à plusieurs mois d'intervalle :
- 📢 Annonce — quand l'album apparaît « à paraître » dans le catalogue
- 📚 Sortie — quand sa date de parution est atteinte (mise en librairie)
Couvertures : la fiche d'un album « à paraître » affiche souvent le placeholder « Couverture de produit indisponible » alors que l'image est déjà en ligne sur le CDN Hachette (media.hachette.fr/imgArticle/GLENAT/<année>/<EAN>-001-X.jpeg). Le watcher sonde donc ce CDN quand la fiche n'a pas de couverture. Si une annonce est partie sans image (couverture vraiment pas encore en ligne), le CDN est re-sondé à chaque run jusqu'à la sortie : dès que l'image apparaît, le message d'annonce est édité en silence pour l'ajouter (l'id du message est stocké dans le state). Aucune notification n'est envoyée pour une couverture.
L'état Glénat est stocké dans le même state.json sous des clés glenat:<EAN> (l'EAN à 13 chiffres ne peut pas entrer en collision avec les codifs des magazines à 5 chiffres). Au tout premier run, le catalogue existant est enregistré en silence (pas de flood) ; seules les nouveautés et sorties ultérieures notifient.
- Dans ton serveur Discord → Paramètres du salon → Intégrations → Webhooks
- Clique Nouveau Webhook, donne-lui un nom (ex: "Magazine Watcher 🦆")
- Copie l'URL du webhook
- Dans ton repo GitHub → Settings → Secrets and variables → Actions
- Clique New repository secret
- Nom :
DISCORD_WEBHOOK - Valeur : l'URL copiée à l'étape précédente
- Va dans l'onglet Actions de ton repo
- Si désactivé, clique I understand my workflows, go ahead and enable them
Dans l'onglet Actions → Disney Magazine Watcher → Run workflow
- Le script tourne toutes les heures (à la minute 0)
- Il interroge
direct-editeurs.frpuis complète aveccatalogueproduits.mlp.frpour découvrir tous les magazines Disney actifs (DE n'étant pas exhaustif) - Il compare le numéro actuel avec le dernier connu (stocké dans
state.jsonsur la branchedatas) - Pour chaque nouveau numéro détecté, il interroge MLP pour récupérer la date de relève prévisionnelle (« Jusqu'au »)
- Notification Discord avec titre, numéro, prix, date de parution, date de relève et couverture en grand
- Quand MLP fournit des visuels supplémentaires (dos, contenu d'un pack, produit offert), ils s'affichent en galerie dans le même encadré (jusqu'à 4 images, via des embeds qui partagent le même
url) - Si la couverture n'est pas encore publiée (MLP sert « Visuel en cours de publication »), la notif part sans image et le message est édité en silence dès que la vraie couverture arrive (suivi arrêté à la relève)
- En complément, il surveille les BD Disney chez Glénat (voir la section dédiée ci-dessus) sur le même webhook
- Le
state.jsonest automatiquement mis à jour et commité sur la branchedatas(le code reste propre surmain) - Throttle 1s + retry automatique sur 429 pour respecter la limite Discord (~5 webhooks/s)
Pour donner un emoji et une couleur dédiés à un magazine découvert automatiquement, ajoute son codif à OVERRIDES dans check_magazines.py :
OVERRIDES = {
"12345": {"name": "Nom affiché", "emoji": "📰", "color": 0xFF0000},
...
}Le codif est l'identifiant numérique visible dans l'URL et le bloc "Codif :" sur direct-editeurs.fr.
Pour suivre d'autres familles de magazines, modifie KEYWORDS dans check_magazines.py (par défaut : picsou, mickey, mickey parade, fantomiald, donald).