surpris a écrit:Merci. Pour un accès plus vite accessible aux lecteurs de ce fil voici le lien du message contenant le code :
286. Le javascript ne m'est malheureusement pas familier mais je tâcherai d'y jeter un coup d'œil.
Il me faut préciser plusieurs points sur ce programme codé avec les pieds :
* Le code utilise la bibliothèque bien connue Jquery, dont la syntaxe peut désarçonner quand on n'en est pas familier.
* Pour aller fouiller le site de France Culture, ce programme, qui est le code javascript d'une page html, ne peut pas effectuer directement des requêtes directement sur le site franceculture.fr en raison des limitations du "cross-site scripting". Il utilise pour ce faire un service web mis à disposition par Yahoo, nommé YQL. Ce service permet de faire des requêtes dans les pages d'un site externe à la façon dont on en ferait dans une base de donnée. Le hic, c'est France Culture semble avoir mis des freins à certains moments aux requêtes YQL. Il a donc fallu contourner ces limitations en changeant la manière d'écrire ces requêtes, ce qui explique la présence dans le code de plusieurs fonctions de requêtes (nommées yqlUrlxxx), qui ont été changées au fil du temps.
* Comme vous pouvez le lire, la liste des adresses des pages de chaque émissions (A voix nue, Une vie une œuvre...) est statique, et déclarée en début de programme. Cette liste est produite par un autre programme qui balaie la page des émissions du site franceculture.fr, mais qui conserve aussi certaines des émissions qui ne sont plus au menu du site mais dont on trouve encore des numéros par la recherche du site. J'ai cette nouvelle liste, pas la peine donc de vous attarder là-dessus.
* Quand on sélectionne une émission, le programme explore la première page et y trouve la liste des numéros pour lesquels un fichier audio existe. Il fallait alors faire une seconde requête pour chaque numéro car dans l'ancien site, il fallait ouvrir une nouvelle fenêtre pour écouter l'émission, d'où la présence de requêtes imbriquées dans le code. Cela n'est plus nécessaire, la liste des fichiers mp3 se trouvant directement dans la page des émissions.
* Le programme utilisait auparavant tout une liste de fichiers textes contenant des listes pré-compilées d'adresses de fichiers mp3 (fichiers se trouvant dans le répertoire "fc", utilisés dans la fonction "loadEm()"), qu'il consultait avant de fouiller réellement les pages du site. Ces listes avaient été dressées à partir d'un autre programme et leur utilité était d'accélérer l'affichage des premiers numéros, mais aussi de conserver les adresses des fichiers mp3 que France Culture avait cessé d'afficher sur le site. Ces fichiers textes n'ont plus d'utilité car les adresses ont changé, et France Culture supprime réellement depuis au moins deux ans l'accès aux fichiers mp3 quand ils sont sortis du site. Ce passage peut être supprimé du programme.