TTS et chemin

Bonjour,

J’aimerais comprendre pourquoi TTS génère des chemins avec la racine DOCUMENT_ROOT ? En temps normal, ça passe sans souci car le répertoire racine TTS est dans le /tmp, mais quand j’utilise le plugin Songs, la racine est /var/www/html/. Peux-t-on améliorer l’api pour retourner un chemin depuis la racine du site ?

Bonjour,
Je n’ai absolument rien compris… Le tts peut soit te renvoyer le fichier soit le path absolue.

Oui je me suis sans doute mal exprimé. Effectivement le tts génère un chemin absolu vers le fichier.

Quand je j’interroge l’api tts, je peux récupérer le lien du fichier depuis mon navigateur. http://JEEDOM_URL/tmp/jeedom/tts/FICHIER.mp3, pas de problème. Par contre, si je fais de même en mettant à la place du texte l’ID du plugin Songs (par exemple), j’obtiens http://JEEDOM_URL/var/www/html/plugins/songs/core/ajax/…/…/data/FICHIER.mp3, ici ça pose problème, je ne peux pas récupérer le fichier. Pour le premier cas, j’ai mis un lien symbolique /tmp vers /var/www/html/tmp, mais pour le second cas ça fait moins propre si je fais la même chose… d’où ma demande de pouvoir générer un chemin depuis la racine /var/www/html/

L’accès par URL me permet notamment d’utiliser l’option playurl du script stream2chromecast.py.

C’est normal c’est absolument pas fait pour marcher comme ça… Tu appels juste l’API tts si Dedans ya un truc pour le plugin song le core la redirige au bonne endroit et te renvoi ce que tu demandes

Ça aurait été bien un paramètre juste pour demander le chemin relatif, personne n’est censée connaitre le chemin complet sur le serveur.

Du coup, j’ai fait le crade avec cette portion de code dans le plugin gcast:

$cmd .= ' -playurl "' . network::getNetworkAccess('internal') . str_replace('/var/www/html', '', $url) .'"' ;

PS : Comme indiqué dans un autre post, sans le paramètre -playurl, le script devient bloquant à l’infini de mon côté.

Je comprends pas je suis désolé… Je m’en sert dans sonos et le googlecast (donc le fameux stream2chromecast) et je n’ai aucun soucis avec l’utilisation.

Je comprends pas ce que tu fais du tout et ce qui te bloque

Je suis dans un environnement sous Docker (sans network_mode=host) et chez moi ça n’a pas marché le plugin gcast, j’ai du mettre l’option -playurl en paramètre du stream2chromecast, maintenant ça marche beaucoup mieux.

Et ce matin je voulais tester le plugin Songs et j’ai constaté un chemin absolu alors que je voulais un chemin relatif depuis la racine /var/www/html afin de pouvoir le faire fonctionner avec ma modif précédente, d’où mon problème. Voilà mon histoire^^

Au moins ça te fera tilt si jamais un jour on te remonte un cas similaire :wink: De mon côté tout fonctionne à merveille désormais, certes avec un patch malpropre mais ça fonctionne :slight_smile: