Playlist youtube automatique basée sur PHP et XSLT
J'ai eu dernièrement à développer un module de playlist vidéo automatisé basé sur youtube. Voici une variante de cette playlist youtube automatique basée sur PHP / XSLT / Javascript et Gdata. Je me suis amusé à mettre un peu de responsive design, de l'URL Rewriting et une pagination. Edit : Script Obsolète Nouvelle version : Youtube Playlist PHP
Pour cet exemple, la playlist est alimenté par une recheche via GDATA qui renvoie dans notre cas un flux XML.
Vous devrez à ce titre vous munir d'une clé développeur pour accéder à l'API (https://code.google.com/apis/youtube/dashboard/).
Php servira à instancier la requête et à envoyer les paramêtres à la feuille XSL qui produira une sortie HTML.
Pour la mise en forme de la galerie XSLT se charge du gros oeuvre, puis un peu de CSS et du JS avec les librairies jquery elastislide.js et Jquery easing.1.3.js
Les players Youtube sont gérés via SWFObject et un peu de JS.
Pour finir j'ai rajouter une pagination qui permet de parcourir par blocs les vidéos disponibles. tous les paramêtres sont dans L'url.
Voir la démo : Playlist vidéo de Sting
Version "URL Rewriting" : Playlist vidéo de The Police
Voir le code
Télécharger ce script gratuit (ZIP) : Obsolette voir ici la nouvelle version de playlist youtube V3
Pour installer ce script, décompressez l'archive ZIP puis envoyer le tout dans un dossier sur votre serveur. Modifiez le fichier .htaccess pour l'url-rewriting.
Si vous ne souhaitez pas utiliser l'url rewiting il faudra décommenter une partie du code (ligne 100) XSLT et commenter la navigation/pagination active (ligne 105) .
Pour utiliser ce script c'est très simple, dans la démo 01 voici l'url : https://www.xtendo.fr/gratuit/youtube-playlist/playlist-video-search.php?s=sting&sind=1&max=20
- Le premier paramètre "s" est le ou les mots clés, remplacez Sting par "stevie+wonder", validez et "Super...stition !".
- Le second paramètre "sind" est le numéro de la première vidéo affichée, remplacez le par 5, desormais la playliste commence à la cinquième vidéo.
- Le troisième paramètre "max" est le nombre maxi de vidéos affichées par page, remplacez 20 par 5, désormais vous n'avez plus que 5 vidéos par pages.
Vous pouvez modifier ces fichiers comme vous le souhaitez, sachez qu'il est possible d'afficher une chaine youtube plutôt qu'une recherche par mots clés.
"Bon playlistage"
Johan Puisais
Par Johan Puisais - Xtendo : création de site internet Poitiers
Pour continuer votre lecture sur la thématique Scripts gratuits
- Outils SEO gratuits : sémantique, référencement naturel, scripts
- Ajouter un flux RSS à Google Plus
- Youtube Playlist PHP : Nouvelle version API V3
- Créer un site internet - 02 : les différentes solutions Suite
Tags : Scripts gratuits, Développement, Outils et services web,
Commenter et noter cet article
Les commentaires pour cet article
Johan Puisais - Poitiers France
Réponse à : Carl cdossert. Merci et bonjour. ce problème vient visiblement de restrictions de la part de Google. je m'y suis penché déjà sans succés, désolé.
Ecrit le : 06/08/2013 à 14h18
Carl cdossert -
Bonjour, Tout d'abord, merci pour le partage ! Je trouve votre code très intéressant. Cependant je remarque un petit problème et je ne sais pas comment le corriger : Au chargement de la page, quand on clic sur FULL SCREEN, pour vois la video en plein écran, ca fonctionne, MAIS après avoir cliquer sur une vignette pour voir une autre video : le Full Screen n'est plus accessible !
Ecrit le : 25/05/2013 à 09h47
Johan Puisais - Poitiers France
Bonjour Marek, je n'ai pas testé le parsing xslt de ce script avec asp.net et ne sais ce qui coince dans ton cas. Peut-être les passage de paramètres à la feuille xslt... Merci pour tes compliments :-)
Ecrit le : 18/07/2012 à 14h42
marek dupont -
Excellent script, merci !!! J'ai essayé de limplémenter dans C# avec asp.net, que je genere ma page, j'ai bien tous le contenu dans le , malheureusement, le body est vide. je ne sais pas lequel de ces boucles dans xsl est vide. tu as une idée?
Ecrit le : 17/07/2012 à 13h25
Johan Puisais - Poitiers France
Oui Xavier, regarde ton mail, quelques pistes, npus allons bien trouver ce petit Pb. ;-) Bien à toi Johan
Ecrit le : 22/05/2012 à 16h13
Xavier BIA - IDF France
Bonjour, Merci pour le partage de ce code qui me semble vraiment bien :) J'ai essayé de suivre à la lettre votre recommandation mais j'ai un message d'erreur... :s J'ai fais la modification pour envoyer vers ma chaine youtube... J'ai l'impression que cela viens de ma clef non? j'ai noté la suite de caractere qui m'ai donné par google... :s Merci d'avance pour votre aide... http://bia.teambattlefield.fr/modules/chaine_youtube/playlist-video-search.php
Ecrit le : 22/05/2012 à 12h42
Johan Puisais - Poitiers
Bonjour Pierre-François, merci pour vos compliments :-) Voici la partie de code à modifier dans le fichier playlist-video-search.php : $xmlDoc->load("https://gdata.youtube.com/feeds/api/users/" . $username . "/uploads" . "?start-index=" . $startindex . "&max-results=" . $maxresults . "&key=Votre clé API ici"); à la place de : $xmlDoc->load("http://gdata.youtube.com/feeds/videos?format=5&vq=" . $searchterm . "&start-index=" . $startindex . "&max-results=" . $maxresults . "&key=Votre clé dévéloppeur GDATA"); Je serais heureux de voir votre adaptation du script, bon développement :-)
Ecrit le : 03/03/2012 à 16h18
Pierre-François DORE -
Superbe script!!! De belle qualité. Pourriez vous expliquer comment intégrer une chaine plutot qu'une liste aléatoire? Ce script m'intéresse fortement!! Merci beaucoup
Ecrit le : 02/03/2012 à 23h54
Johan Puisais -
Bonjour Nicolas, Voici la partie de code à modifier dans le fichier php :
$xmlDoc->load("https://gdata.youtube.com/feeds/api/users/" . $username . "/uploads" . "?start-index=" . $startindex . "&max-results=" . $maxresults . "&key=Votre clé API ici");
Ecrit le : 09/02/2012 à 13h07
Nicolas Asso -
Bonjour, Petite question, comment insérer notre chaine Youtube plutôt qu'une recherche par mot clef ?
Ecrit le : 08/02/2012 à 10h15