Récupérer les dernières vidéos youtube d'une chaîne et l'implémenter sur son site

-PizzaHut-

Premium
Inscription
4 Septembre 2013
Messages
682
Réactions
232
Points
10 141
Salut à tous

Pour mon premier tutoriel je décide de vous expliquer comment récupérer le flux des dernières vidéos d'une chaîne youtube et ainsi avoir un auto update sur son site sans utiliser l'api youtube.

7f17065bdf02912ddce8a46009824a7f.jpg

Pour ce tutoriel j'utiliserais l'éditeur de texte Atom.

Commençons, nous allons déclarer une variable php que j'appellerais dans ce tutoriel $video, puis une seconde que j'appellerais $url qui servira à récuperer le fichier .xml qui contient le flux de la chaîne, nous aurons besoin d'une dernière valeur qui servira à lire le fichier .xml que l'on appellera $xml.

Code:
        <?php
        $url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCtBjt766LG9EDVKZx4Q4IHw";
        $xml = simplexml_load_file($url);

Pour l'instant nous récupérons le fichier .xml de la chaine youtube ayant l'id : UCtBjt766LG9EDVKZx4Q4IHw

Maintenant nous allons utiliser la fonction pour ( for en anglais ), celle-ci permettra de restreindre l'affichage des dernières vidéos à un certains nombre.


Code:
       <?php
        $url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCtBjt766LG9EDVKZx4Q4IHw";
        $xml = simplexml_load_file($url);
        for($i = 0; $i < 9; $i++){

Dans le cas suivant nous afficherons les 9 premières vidéos, pour $i allant de 1 à 9 avec une implémentation de 1.
A l'intérieur de cette fonction for nous allons récupérer les données qui nous intéresse dans ce cas, sa sera la variable id stocké dans le fichier .xml.

Code:
        <?php
        $url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCtBjt766LG9EDVKZx4Q4IHw";
        $xml = simplexml_load_file($url);
        for($i = 0; $i < 9; $i++){
            $link = $xml->entry[$i]->id;

Maintenant que nous avons cette valeur id qui contient donc l'id des vidéos nous allons la remplacer grâce à la fonction str_replace de cette façon, nous allons exclure un morceau de texte qui est contenu dans la valeur id du .xml.
La valeur id est stocké dans la variable $link.

Code:
        <?php
        $url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCtBjt766LG9EDVKZx4Q4IHw";
        $xml = simplexml_load_file($url);
        for($i = 0; $i < 9; $i++){
            $link = $xml->entry[$i]->id;
            $link = str_replace('yt:video:','',$link);

Il ne nous manque plus qu'a mettre en page l'affichage des vidéos.

Code:
        <?php
        $url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCtBjt766LG9EDVKZx4Q4IHw";
        $xml = simplexml_load_file($url);
        for($i = 0; $i < 9; $i++){
            $link = $xml->entry[$i]->id;
          $link = str_replace('yt:video:','',$link);
          $video .= "<div class='col-md-4'>
                                    <iframe width='90%' height='250px' src='https://www.youtube.com/embed/$link' frameborder='0' allowfullscreen></iframe>
                                </div>";
        }
        ?>
            <center><h1>Liste vidéos youtube</h1></center></br></br>
            <div class="row">
                <?php echo $video; ?>
            </div>

Ne tenez pas compte de la class utilisé dans la div elle correspond au placement des vidéos sur la page web.


Pour résumer nous récupérons le document .xml qui correspond à la chaîne désirée.
Nous extrayons la valeur id dans ce cas et nous remplaçons son contenu en supprimant le texte qu'elle contient.
Puis nous affichons grâce à notre variable préalablement stocké la vidéo en changeant uniquement la partie se situant à la fin du lien youtube.
Pour finir un simple echo de la valeur $video nous affiche les 9 premières vidéos.


Pour résumer ce petit tutoriel vous permet de
récupérer les dernières vidéos d'une chaîne ( vous pouvez récupérer toutes les informations contenu dans le .xml pas uniquement l'id ).
Tout ceci sans utiliser l'api youtube et avec un code assez court et simple.


Voilà j'espère que ce premier tuto vous aura plu.
N'hésitez pas à laisser votre avis.

:tchuss:
 

Hichxm

Membre
Inscription
15 Octobre 2013
Messages
1 118
Réactions
227
Points
5 721
Super topic ! ::):

Le mieux reste quand même l'API de YouTube V.3 ::p:
Utilisé l'API de youtube est une catastrophe non seulement on à un quota à respecter mais qui ne pose pas de problème grâce a un système de cache. Mais l'API youtube est dédié a une utilisation beaucoup plus approfondi que d'afficher de simple vidéo :ok:
 

SoCoolMen

Espion
Premium
Inscription
15 Novembre 2011
Messages
3 012
Réactions
1 064
Points
22 509
Bon ben j'en ai fais un bot discord, des que the kairi poste une video sa envoie un message dans conv discord :trollface:
 
Haut