Rapports de diffusion

Modifié le  Lun, 12 Oct. à 9:23 H

Les rapports de diffusion sont archivés chaque mois, à raison d'un fichier JSON par mois contenant les journaux de lecture de tous les lecteurs. Les journaux historiques datant de plus d'un mois peuvent être récupérés depuis S3 et fournis au client sur simple demande.

Logs Wavespark

Types de logs et de contenus remontés par les players, filtrage et export de l’historique de diffusion, et logs archivés.

Valeurs de log_type

Trois types de logs sont produits aujourd'hui par les players.

log_typeContenu
diffusionTout ce que le player diffuse : lecture en cours, fallback, absence de lecture (filtre « Broadcast » dans Wavespark)
projectChangement de projet publié depuis Wavespark sur le player
systemUniquement les changements de date/heure, fuseau horaire et serveurs NTP

Valeurs de content_type

Les annonces insérés entre les titres ont le content_type spot, ce qui permet de les distinguer et de les exclure des déclarations.

log_typecontent_typeSignificationFiltre dans Wavespark
diffusionmusicTitre musical diffusé (titre, artiste, album, durée, ISRC si disponible)Broadcast > Music Programs > Tracks
diffusionradioWebradio diffusée (nom et URL du flux)Broadcast > Music Programs > Webradios
diffusionspotProgramme publicitaire : annonces et messages insérés entre les titresBroadcast > Advert programs
diffusioneventProgramme de type scénario, uniquement musical (pas d'annonces)Broadcast > Scenario
diffusionidleMoment où le player ne diffuse rienBroadcast > No playback
diffusionfallbackPlaylist de secours lue quand la webradio est indisponibleBroadcast (Warning) > Music Programs > Webradios
projectswapChangement de projet (nom et version du projet)Project
systemdateTimeChangement de date/heure, fuseau ou serveurs NTP (valeurs avant / après)System

Exemples de logs

Chaque log a la même structure : un log_type, une date de création en UTC, le fuseau du player, et un bloc content dont le content_type indique la nature du contenu. Les valeurs ci-dessous sont des exemples.

Diffusion d'un titre musical (music)

{
  "log_type": "diffusion",
  "created_time": "2025-08-31T18:48:51.000000Z",
  "timezone": "Europe/Paris",
  "content": {
    "content_id": "0456f7ab-4bce-447b-bd4f-1303449df861",
    "content_type": "music",
    "task_title": "Programme musical journée",
    "criticity": "info",
    "content_details": {
      "title": "Resistance",
      "artist": "Muse",
      "album": "The Resistance",
      "duration": "5:46"
    }
  }
}

Diffusion d'une annonce (spot)

Une annonce insérée entre deux titres remonte avec content_type: "spot" ; c'est ce champ qui permet de l'exclure.

{
  "log_type": "diffusion",
  "created_time": "2025-08-31T18:54:37.000000Z",
  "timezone": "Europe/Paris",
  "content": {
    "content_id": "7c1e2a90-3f4b-4d8e-9a61-5b2c8d0e4f13",
    "content_type": "spot",
    "task_title": "Annonces magasin",
    "criticity": "info",
    "content_details": {
      "title": "Promo rentrée",
      "duration": "0:30"
    }
  }
}

Diffusion d'une webradio (radio)

{
  "log_type": "diffusion",
  "created_time": "2025-08-30T20:16:33.000000Z",
  "timezone": "Europe/Paris",
  "content": {
    "content_id": "e2d8e351-84fb-4fc9-83b4-2b14bbcc2fd4",
    "content_type": "radio",
    "task_title": "radio",
    "criticity": "info",
    "content_details": {
      "title": "RFM",
      "url": "https://rfm.lmn.fm/rfm.mp3"
    }
  }
}

Changement de projet (project / swap)

{
  "log_type": "project",
  "created_time": "2025-10-06T09:12:40.000000Z",
  "timezone": "Europe/Paris",
  "content": {
    "content_id": "1842",
    "content_type": "swap",
    "criticity": "info",
    "content_details": {
      "title": "Projet Magasin Paris - V3"
    }
  }
}

Changement de date/heure (system / dateTime)

Le log garde la configuration avant (old) et après (new) le changement.

{
  "log_type": "system",
  "created_time": "2025-10-07T12:17:16.507Z",
  "timezone": "Europe/Berlin",
  "content": {
    "content_type": "dateTime",
    "criticity": "info",
    "content_details": {
      "old": {
        "auto": true,
        "servers": ["0.pool.ntp.org", "1.pool.ntp.org", "2.pool.ntp.org"],
        "timezone": "Europe/Berlin"
      },
      "new": {
        "auto": true,
        "servers": ["0.pool.ntp.org", "1.pool.ntp.org"],
        "timezone": "Europe/Berlin"
      }
    }
  }
}

Filtrer et exporter la musique sans les annonces

L'export CSV reprend exactement les filtres appliqués dans la vue Logs du player. Pour obtenir uniquement la musique diffusée :

  1. Dans Wavespark, ouvrir les paramètres du player, puis la vue Logs.
  2. Ouvrir Filters et choisir le type Broadcast.
  3. Cocher Music Programs (Tracks et Webradios) et Scenario, et décocher Advert programs et No playback.
  4. Choisir la période et le fuseau horaire (Player par défaut, Local ou UTC), puis cliquer sur Apply.
  5. Cliquer sur Export pour télécharger le CSV filtré.

Logs archivés (historique de diffusion)

Tout l'historique de diffusion (Proof of Play) est stocké dans un stockage cloud (S3), archivé par mois. Les logs de plus d'un mois ne sont plus dans Wavespark, mais peuvent être extraits du S3 et fournis au client sur demande.

Organisation des fichiers

  • Un fichier JSON par mois, nommé MM-AAAA.json (ex. 10-2025.json pour octobre 2025).
  • Chaque fichier contient les logs de tous les players du mois, tous types confondus (diffusion, project, system).
  • Le fichier est un tableau JSON : un objet par log, trié par id croissant.

Structure d'un log archivé

Un log archivé a le même contenu qu'un log de Wavespark, avec en plus l'identification du player et de la société.

ChampDescriptionExemple
idIdentifiant unique du log2283731
device_idIdentifiant interne du player1153
device_snNuméro de série du player063236
company_idIdentifiant de la société158
log_typediffusion, project ou systemdiffusion
created_timeDate et heure du log, en UTC2025-10-01T00:57:47.851000Z
timezoneFuseau horaire du player (peut être null)Europe/Paris
contentDétail du log : content_type, criticity, content_details, etc.voir exemples ci-dessus

Exemple réel extrait du fichier 10-2025.json :

{
  {
    "id": 2283731,
    "device_id": 1153,
    "device_sn": "063236",
    "company_id": 158,
    "log_type": "diffusion",
    "created_time": "2025-10-01T00:57:47.851000Z",
    "timezone": "Europe/Paris",
    "content": {
        "content_id": "3fc8e99b-d4df-4570-856a-9e282b5bac05",
        "content_type": "music",
        "task_title": "08",
        "criticity": "info",
        "content_details": {
            "title": "01239 - Kelly Reid",
            "artist": "Hardkandy",
            "album": "LotB1300",
            "duration": "5:35"
        }
    }
},
{
    "id": 2409964,
    "device_id": 1697,
    "device_sn": "200065",
    "company_id": 158,
    "log_type": "diffusion",
    "created_time": "2025-10-27T13:32:13.747000Z",
    "timezone": "Africa\/Casablanca",
    "content": {
        "content_id": "29709fba-aa44-45e5-a630-e04e879ad551",
        "content_type": "radio",
        "task_title": "vrai radio",
        "criticity": "info",
        "content_details": {
            "title": "Skyrock",
            "url": "https:\/\/icecast.skyrock.net\/s\/natio_mp3_128k?tvr_name=tunein16&tvr_section1=128mp3"
        }
    }
},...
}

Cet article a-t-il été utile ?

C'est super !

Merci pour votre commentaire

Désolé ! Nous n'avons pas pu vous être utile

Merci pour votre commentaire

Dites-nous comment nous pouvons améliorer cet article !

Sélectionner au moins l'une des raisons
La vérification CAPTCHA est requise.

Commentaires envoyés

Nous apprécions vos efforts et nous allons corriger l'article