burger
infomaniak
infomaniak
cloud-computing-logo
Cloud Computing
web-domain-logo
Web & Domaines
event-marketing-logo
Events & Marketing
  • Nos Produits
    • Outils collaboratifs icon chevron
    • Web & Domaines icon chevron
    • Cloud Computing icon chevron
    • Events & Marketing icon chevron
    • Streaming icon chevron

      ksuiteSuite collaborative

      Découvrir la suite collaborative → Découvrir →
    • kSuite E-mails professionnels, Cloud et IA souverains pour des performances durables
    • kSuite La suite pour communiquer, stocker et partager, en sĂ©curitĂ©
    • kdrive
      kDrive Stockez, Collaborez et partagez vos fichiers
    • mail service
      Service Mail Créez vos adresses mails avec votre domaine
    • kChat
      kChat Communiquez en direct avec vos équipes
    • kmeet
      kMeet Organisez vos réunions en ligne en toute sécurité
    • swisstransfer
      SwissTransfer Envoyez gratuitement vos fichiers jusqu’à 50 Go.
    • kpaste
      kPaste Partagez et chiffrez vos informations sensibles
    • ksuite
      Custom Brand Maîtrisez l'image de marque de vos produits
    • kChat
      Chk Réducteur de lien & générateur de code QR
      Trouvez l'hébergement Web qu'il vous faut
    • Domain name
      Nom de domaine Réservez votre nom de domaine au meilleur prix
    • Site Creator
      Site Creator Créez votre site en toute simplicité
    • web hosting
      Hébergement Web Créez votre site avec plus de 100 CMS
    • web hosting
      Hébergement WordPress Créez votre site WordPress facilement
    • Cloud Server
      Serveur Cloud Propulsez vos sites avec des ressources garanties
    • HĂ©bergement Node.js Creez un site dynamique et interactif avec Node.js
    • SSL Certificat
      Certificats SSL Sécurisez vos sites avec un certificat EV ou DV
    • Options
    • Domain privacy
      Domain Privacy Protégez les données privées de vos domaines
    • DNS Fast Anycast
      DNS FastAnycast Accélérez le temps d’accès de vos sites
    • Dyn DNS
      DynDNS Accédez à vos appareils à distance
    • Dyn DNS
      Renewal Warranty Sécurisez vos domaines contre la perte et le vol
      Trouvez la solution de Cloud Computing adaptée

      Cloud services

    • public cloud
      Public Cloud (IaaS) Créez vos projets sur un Cloud haut de gamme et ultra-compétitif
    • Cloud Server
      VPS Cloud Créez un serveur Windows/Linux
    • Kubernetes Service DĂ©ployez vos applications conteneurisĂ©es Ă  grande Ă©chelle.
    • VPS Lite
      VPS Lite Créez un serveur Windows/Linux à un coût avantageux
    • Database Service GĂ©rez vos bases de donnĂ©es avec une solution managĂ©e
    • jelastic cloud
      Jelastic Cloud (PaaS) Créez vos environnements sur mesure
    • Autres services

    • llm api
      AI Tools Augmentez votre productivite avec notre IA souveraine
    • swiss backup
      Swiss Backup Sauvegardez vos appareils dans le cloud
    • nas synology
      NAS Synology Louez un NAS dans nos datacenters sécurisés
    • High availibility
      Très Haute Disponibilité Créez une infrastructure multi-datacenters avec SLA sur mesure
    • Housing
      Housing Installez vos serveurs dans nos datacenters
    • Auth Ajoutez une mĂ©thode de login respectueuse de la vie privĂ©e Ă  vos apps
      Infomaniak Events, le portail évènementiel local et indépendant
      Billetterie en ligne avec un large choix de concerts, spectacles, évènements.
    • online shop
      Ticketing Créez votre billetterie et vendez des billets
    • kdrive
      Contrôle d'accès Contrôlez l'accès à vos événements facilement
    • kdrive
      Gestionnaire d'invités Automatisez les invitations de vos events
    • kdrive
      Newsletter Envoyez vos newsletters à des tarifs compétitifs
    • Streaming radio
      Streaming radio Créez et diffusez en direct votre radio en ligne
    • streaming video
      Streaming vidéo Créez et diffusez en direct vos évènements et TV en ligne
    • VOD and AOD
      Service VOD & AOD Hébergez et diffusez vos enregistrements sans limites
  • Ressources
    documentation icon Documentation
    Guides & tutoriels
    Documentation API
    special offers icon Offres spéciales
    Démarrer gratuitement
    Programme étudiant
    Devenir affilié
    partner program icon Programme partenaire
    Trouver un partenaire
    Devenir partenaire
    support icon Support & contact
    Contacter le support
    Support premium - 24/24 7/7
    Contacter le service commercial
    Engager un expert
    Migrer vers Infomaniak
  • Ă€ propos
    forest
    icon Engagement écologique
    Nous polluons. Mais nous agissons pour atténuer l’empreinte de nos services et de notre infrastructure
    Découvrir notre engagement →
    icon À propos d’Infomaniak
    Notre vision, nos valeurs
    Nos équipes
    Infomaniak recrute
    Presse et communication
    Blog et actualité
    icon Sécurité
    Confidentialité des données
    Programme de Bug Bounty
  • DĂ©marrer gratuitement
    Connexion
  • search-icon
    close-icon
      icon

      Vos besoins dépasseraient-ils nos solutions ? Pour en avoir le coeur net, contactez-nous afin que nous puissions personnellement vous conseiller.

      Nos produits phares :
  • search-icon
  • DĂ©marrer gratuitement
    Connexion
Prix Prix
Base de connaissances

1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !

Base de connaissances Sécuriser un flux MP3/AAC ou HLS par clé unique

    Sécuriser un flux MP3/AAC ou HLS par clé unique

    Ce guide explique comment maintenir un contrôle sur vos flux de Streaming Radio MP3/AAC ou HLS en activant la protection par clé unique (token) afin de décider p.ex si un auditeur peut écouter votre radio ou non.

     

    Préambule

    • Le principe est simple: Ă  chaque connexion, vous effectuerez une requĂŞte vers l'API Infomaniak qui vous renverra en retour un token unique avec une durĂ©e de vie limitĂ©e et paramĂ©trable. Ce token autorisera quiconque le possède Ă  consommer le flux pendant cette pĂ©riode.
    • Vous pouvez protĂ©ger un flux MP3/AAC ou HLS indĂ©pendamment l’un de l’autre (idem pour la gĂ©olocalisation d'ailleurs).
    • L'activation de la restriction implique un changement de la configuration du flux qui peut prendre quelques minutes pour ĂŞtre rĂ©pliquĂ©e sur les serveurs.

     

    Protéger un flux audio par clé unique

    Pour ce faire, il suffit de se rendre dans les paramètres de restrictions et d'activer la protection par token sur le flux que vous souhaitez sécuriser:

    1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
    2. Cliquez directement sur le nom attribuĂ© au produit concernĂ©.
    3. Cliquez sur le nom du flux audio concerné.
    4. Cliquez sur Restrictions dans le menu latéral gauche.
    5. Choisissez HLS si nécessaire.
    6. Cliquez sur le menu d'action â‹® situĂ© Ă  droite de l'Ă©lĂ©ment concernĂ©.
    7. Cliquez sur Restriction par token:

       

    Activez ensuite la protection.

    Attention, au moment où vous allez activer cette option, l'accès au flux sera instantanément bloqué pour les nouvelles connexions. Adaptez vos Players pour prendre en compte la restriction, comme illustré dans l'exemple ci-dessous :

     

    Créer un token API Radio

    Pour avoir accès à l'API Radio, vous devez en premier lieu vous authentifier grâce à un token application. Cette étape n'est à faire qu'une seule fois. Pour créer ce token d'application, prenez connaissance de cet autre guide.

    Le scope est radio et la durée de vie illimité pour éviter de devoir régénérer un code de manière régulière. Une fois le token généré, le copier afin de le coller dans l'exemple ci-dessous.

     

    Exemple d'utilisation en langage PHP

    Pour MP3/AAC ou HLS, le code peut être sensiblement le même, seule l'URL appelée en POST change au niveau de sa forme.

    Collez ci-dessous le token généré en lieu et place de celui indiqué:

    if (!defined('API_TOKEN')) {
         define('API_TOKEN', 'AYF5lSh3c7Xy5974Fs12RTkTThujT-L9R4Xk2ZfGyP6sV7QqJ1oC3jD8nFtKzIxUeMw5oNzR6');
    }
    /**
     * Fonction générique pour executer des requêtes cURL
     *
     * @param string $method Méthode HTTP (GET, POST, PUT, etc...)
     * @param string $url Url de l'api a requĂŞter
     * @param array $headers Liste des en-têtes HTTP (l'autorisation doit être passée ici avec un ['Authorization: Bearer ']
     * @param array $payload Un tableau contenant les données pour créer un token
     * @return mixed
     */
    
    function request(string $method, string $url, array $headers = [], array $payload = []): mixed{
        // prepare options array
        $opts = [
            CURLOPT_HTTPHEADER => $headers,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_URL => $url,
            CURLOPT_CUSTOMREQUEST => strtoupper($method),
        ];
    
        // add payload if relevant
        if ($payload && $method !== 'GET') {
            $opts[CURLOPT_POSTFIELDS] = json_encode($payload);
        }
        $ch = curl_init();
        curl_setopt_array($ch, $opts);
        $result = curl_exec($ch);
        if(curl_errno($ch)){
            throw new Exception(curl_error($ch));
        }
        $data = json_decode($result, true);
        if ($data['result'] === 'error') {
            throw new Exception($data['error']['description'] ?? 'an error occured');
    
        }
        return $data['data'];
    }

     

    On va créer le token, l'URL de création du token se décompose comme suit :

    • Pour un flux MP3 / AAC
    POST https://api.infomaniak.com/1/radios/acl/streams/mountpoint.mp3/token

    Exemple pour protéger https://newradiotest.ice.infomaniak.ch/newradiotest-128.aac la route sera: https://api.infomaniak.com/1/radios/acl/streams/newradiotest-128.aac/token

    • Pour un flux HLS
    POST https://api.infomaniak.com/1/radios/acl/hls_streams/<stream>/token

    Exemple pour protéger https://myradiostream.radiohls.infomaniak.com/myradiostream/manifest.m3u8 la route sera: https://api.infomaniak.com/1/radios/acl/hls_streams/myradiostream/token

    Exemple dans le cas du MP3 / AAC, pensez Ă  ajuster :

    $token = request(
        'POST',
       'https://api.infomaniak.com/1/radios/acl/streams/newradiotest-128.aac/token',
        // en-tĂŞte d'authorization
        [
            'Authorization: Bearer ' . API_TOKEN,
            'Content-Type: application/json',
        ],
        /**
         * payload pour crĂ©er le token, vous pouvez passer les valeurs suivantes
         * window     | 300               | optionnel | durĂ©e de validitĂ© du token (default: 5 minutes)
         */
    
        [
            'window' => 3600, // 1h validity
        ]
    );

     

    Il est important de noter que si ce code est généré au moment du chargement de la page, l'auditeur aura "window" secondes pour lancer la lecture du flux. Au-delà de ce délai, le token expirera, et le flux ne pourra plus être lancé à moins que la page ne soit rechargée. Selon vos besoins et votre cas d'utilisation, il sera nécessaire d'ajuster ce délai de la meilleure manière possible.

    Il faudra également remplacer ci-dessous l'URL de lecture de votre flux à la place de celle indiqué tout en conservant le paramètre $token à la fin. Et pour finir, on affiche le Player (ici une simple balise html5, mais on peut ajouter bien sûr n'importe quelle surcouche après, le token étant passé dans les paramètres $_GET de l'url).

    $streamUrl = "https://newradiotest.ice.infomaniak.ch/newradiotest-128.aac?$token";
    echo "<audio controls=""><source src="$streamUrl"></audio>";


    Lien vers cette FAQ:
    Cette FAQ a été utile?
    Merci pour votre avis. Apporter des améliorations à cette FAQ?
    Ne posez pas de question via ce formulaire, il sert uniquement à améliorer nos FAQ.
    Si vous avez une question, merci d'utiliser notre formulaire de contact.
    Votre message a été envoyé. Merci d'avoir proposé une amélioration pour cette FAQ.
    Voir toutes les FAQ de ce produit
    logo infomaniak
    Les prix n'incluent pas la TVA
    facebook
    twitter
    linkedin
    instagram

    Infomaniak

    À propos d'Infomaniak L'équipe Infomaniak recrute Espace presse Blog d'Infomaniak Tous les certificats Produits et offres Avis clients

    Support

    Assistance 7/7 FAQ et Guides Support Premium Contact commercial API REST Signaler un abus WHOIS Statuts Public Cloud Etat des services

    Partenariats

    Devenir revendeur Programme d'affiliation Annuaire partenaires Appel d'offres

    Ecologie

    Hébergeur écologique Certificats & Récompenses

    Suivez notre évolution

    L'e-mail saisi n'est pas valide
    earth icon
    • FR
      • FR
      • DE
      • EN
      • ES
      • IT
    ©2025 Infomaniak - Documents légaux - Mentions légales - Protection des données - Politique de confidentialité - Plan de site - Gérez vos cookies
    icann-logo
    swiss
    new-iso
    swiss-hosting
    logo infomaniak
    Les prix n'incluent pas la TVA

    Infomaniak

    À propos d'Infomaniak L'équipe Infomaniak recrute Presse et médias Blog d'Infomaniak Tous les certificats Produits et offres Avis clients

    Support

    Assistance 7/7 FAQ et Guides Offre Support Premium Contact commercial API REST Signaler un abus WHOIS Statuts Public Cloud Etat des services

    Partenariats

    Devenir revendeur Programme d'affiliation Annuaire partenaires Appel d'offres

    Ecologie

    Hébergeur écologique Certificats & Récompenses

    Suivez notre évolution

    L'e-mail saisi n'est pas valide
    icann-logo
    swiss
    new-iso
    swiss-hosting

    facebook
    twitter
    linkedin
    instagram
    ©2025 Infomaniak
    Contrats - Mentions légales - Protection des données - Politique de confidentialité - Plan de site - Gérez vos cookies

    Dirigeants

    earth icon
    • FR
      • FR
      • DE
      • EN
      • ES
      • IT
    Votre navigateur est obsolète, la sécurité et la navigabilité ne sont plus garanties. Nous vous recommandons de le mettre à jour au plus vite en cliquant ici.