Catégorie : Linux

  • AirVinyl : transformez un Raspberry Pi en « platine vinyle » AirPlay pour vos HomePod

    AirVinyl : transformez un Raspberry Pi en « platine vinyle » AirPlay pour vos HomePod

    Et si votre iPhone pouvait envoyer n’importe quelle musique vers une sorte de platine vinyle virtuelle, avant que le son n’arrive sur vos HomePod ?

    C’est exactement ce que nous allons construire avec un Raspberry Pi.

    Le principe est assez réjouissant : depuis l’iPhone, on choisit simplement une nouvelle destination AirPlay appelée AirVinyl. Le Raspberry Pi reçoit alors le morceau, le traite en temps réel pour lui ajouter les petites imperfections qui font le charme du vinyle — souffle, craquements, légère instabilité de hauteur, coloration — puis renvoie le résultat vers les HomePod.

    À l’usage, cela donne simplement :

    iPhone
       │
       │ AirPlay
       ▼
    AirVinyl
       │
       │ traitement « vinyle »
       ▼
    HomePod
    

    Et une fois l’installation terminée, tout démarre automatiquement avec le Raspberry Pi. Pas de commande à saisir avant d’écouter de la musique.

    Sous le capot, notre petite chaîne audio ressemble à ceci :

    iPhone
       │
       │ AirPlay
       ▼
    Shairport Sync
       │
       │ PCM 16 bits / 44,1 kHz
       ▼
    FFmpeg
       │
       │ wow + flutter
       │ saturation
       │ souffle
       │ craquements
       ▼
    OwnTone
       │
       │ AirPlay 2
       ▼
    HomePod(s)
    

    J’ai réalisé le projet avec un Raspberry Pi 3, preuve qu’il n’est même pas nécessaire de lui consacrer une machine récente.

    L’idée de ce tutoriel est de progresser tranquillement : à chaque étape importante, on vérifie que tout fonctionne avant d’ajouter la suivante. Si quelque chose coince, on sait donc immédiatement où regarder.

    (suite…)
  • Partager un tableau de bord Grafana sans besoin de connexion de l’utilisateur

    Partager un tableau de bord Grafana sans besoin de connexion de l’utilisateur

    Grafana est un outil fantastique pour présenter des données statistiques ou de monitoring de manière graphique, esthétique et facile d’accès pour les utilisateurs. Cependant, par défaut, tout accès à un serveur Grafana nécessite de s’identifier. Ce qui n’est pas nécessairement pratique pour partager un tableau de bord (Dashboard) avec le plus grand nombre. De plus, une fois identifié, il est fort probable que l’utilisateur aura la possibilité de modifier le tableau de bord. Dans le cas d’un partage public vers des utilisateurs n’ayant pour seul besoin que de visualiser les données, accorder un accès en lecture/écriture représente un risque.

    Voici une méthode pour pouvoir partager un tableau de bord (Dashboard) en lecture seule avec des utilisateurs sans que ceux-ci n’aient besoin de s’identifier.

    Cette méthode est adaptée pour les serveurs Grafana tournant sous Linux et ayant été installés par un paquet. Mais, elle ne sera pas difficile à adapter pour un serveur tournant sous un autre système d’exploitation ou ayant été installé manuellement.

    Commencez par éditer le fichier /etc/grafana/grafana.ini

    Attention, vous devrez le faire avec les droits de root.

    Voici le bloc à adapter selon l’exemple ci-dessous :

    [auth.anonymous]
    # enable anonymous access
    enabled = true
    

    Veillez bien à retirer le point-virgule en début de ligne.

    Sauvegardez et redémarrez Grafana à l’aide de la commande suivante :

    sudo service grafana-server restart
    

    Vérifiez que le serveur Grafana est bien redémarré à l’aide de la commande :

    sudo service grafana-server status
    

    Vous devez retrouver la mention suivante :

    Active: active (running) since...
    

    A présent, dans les tableaux de bord que vous souhaitez partager en mode public et lecture seule, assurez-vous que les permissions sont correctes. Pour cela, rendez-vous dans les paramètres de chaque tableau de bord (Dashboard Settings) via la petite roue dentée en haut à droite :

    Cliquez sur l’onglet Permissions et assurez-vous que les rôles soient définis comme suit :

    Dans les tableaux de bord que vous ne souhaitez pas partager publiquement, assurez-vous que le rôle Viewer n’existe pas.

    Sauvegardez votre tableau de bord.

    Enfin, générez un lien de partage pour chaque tableau de bord désiré via le bouton de partage tout en haut de la fenêtre du tableau de bord :

    Vous arrivez sur cette boîte de dialogue :

    Partagez ce lien avec toutes les personnes ayant besoin d’un accès à votre tableau de bord, elle ne devront pas s’identifier pour le visualiser.