Skip to content

Indexation & synchronisation des medias

Propriete mediaIndex

Chaque article porte une propriete mediaIndex (TextArea) contenant un JSON pre-calcule des medias references (audios, videos, galeries, dessins). But : permettre aux consommateurs de lister les medias d'un article sans re-parser le RTE/BlockGrid a l'execution.

Calcul (MediaExtractor + ArticleMediaIndexer)

  • ArticleMediaIndexer (handler sur ContentSavingNotification) declenche le calcul au save de l'article.
  • MediaExtractor (service singleton) analyse le HTML/RTE et le JSON du BlockGrid pour extraire :
    • iframes (YouTube), data-embed-url, liens audio, galeries.
    • videos du videoBlock (BlockGrid) : lit directement videoUrl (pas de markup iframe a parser) et resout la miniature YouTube comme pour les autres sources video.
    • dessins : parcourt l'image principale de l'article (image) et les images des blocs/galeries (galleryPictures, image) ; toute image dont le media porte isDrawing=true est ajoutee a Drawings (dedup par URL). C'est ce qui alimente la page/liste des dessins cote consommateur.
  • Le resultat est serialise en JSON dans mediaIndex.

Recalcul en masse

POST /umbraco/api/MultimediaApi/Reindex recalcule mediaIndex pour tous les articles (a lancer apres un import ou un deploiement). Protege par le header X-Webhook-Secret. Retourne { totalProcessed, totalIndexed, errors }.

Synchronisation des fichiers media

MediaSavedHandler (handler sur MediaSavedNotification) synchronise les fichiers media sauvegardes vers le montage disque consomme par les frontends. Les medias sont stockes en local sur la VM (Azure Columbia), montes via docker-compose.

Dessins

Les images marquees isDrawing (media type Image) et liees a un article (drawingArticle) alimentent la categorie "Dessins". Le tag est pose automatiquement a l'import quand la categorie d'article contient "Dessin".

Contributors

No contributors

Changelog

No recent changes