Superbaillot.net
Superbaillot.net
Rss-Bridge
Mes Rss-Bridges
Superbaillot le 11/11/2013

Mes Rss-Bridges

Rss-Bridge est un script développé par Sebsauvage qui permet de générer un flux RSS à partir d'une page HTML.
Il faut ajouter un "pont" par site dont vous voulez le flux RSS.

Voici les "ponts" que j'ai développé.
Ils sont disponible ici.
Mon serveur n'étant pas un monstre, je risque de fermer cet accès si ça le surcharge de trop. C'est pourquoi je met à disposition les sources de mes ponts, pour que vous puissiez les utiliser sur votre propre serveur.

  • AlestormBridge.php :
    
    <?php

    /**
     * Créé le    30/04/2016
     * Update    07/05/2018 :    mise à jour de RSS-Bridge
     */
    class AlestormBridge extends BridgeAbstract
    {
        
        const 
    MAINTAINER 'superbaillot.net';
        const 
    NAME 'alestorm.net';
        const 
    URI 'http://alestorm.net/';
        const 
    CACHE_TIMEOUT 43200// 12h hours
        
    const DESCRIPTION 'alestorm.net via Rss-bridge';

        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request alestorm.'404);
            foreach (
    $html->find('#contentleft .newsbox') as $element)
            {
                
    $item = array();
                
                
    $titre $element->find('h2'0);
                list (
    $jour$mois$annee) = explode("/"trim($titre->find("span"0)->innertext3));
                        
                        
    $item['title'] = $titre->innertext;
                        
    $item['timestamp'] = mktime(000$mois$jour$annee);
                        
    $item['uri'] = $this->getURI() . "#" md5($item->title);
                        
    $item['content'] = $element->innertext;
                        
    $this->items[] = $item;
            }
        }
    }
    ?>
  • AllocineAVRBridge.php :
    
    <?php

    /**
     * Créé le    11/10/2015
     * Update    24/04/2016 :    mise à jour de RSS-Bridge
     * Update    09/09/2017 :    mise à jour de l'url saison 2
     * Update    07/05/2018 :    mise à jour de RSS-Bridge
     */
    class AllocineAVRBridge extends BridgeAbstract
    {
        const 
    NOM "Aviez-vous remarqué ?";
        
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Allo Cine : " self::NOM;
        const 
    URI "http://www.allocine.fr/video/programme-19518/saison-32140/";
        const 
    CACHE_TIMEOUT 25200// 7 hours
        
    const DESCRIPTION "Allo Cine : " self::NOM " via rss-bridge";
        
        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('figure.media-meta-fig') as $element)
            {
                
    $item = array();
                
                
    $titre $element->find('div.titlebar h3.title a'0);
                    
                if(
    $titre != null)
                {
                    
    $content trim($element->innertext);

                    
    //Recherche de la vidéo
                    
    $metaContent "";
                    
    $urlLow="";
                    foreach(
    $element->find('meta')     as $meta)
                    {
                        
    $metaContent .= "<br>" $meta->content;
                    }
                    
    $list explode("videothumbnails/"$metaContent);
                        
                    if(
    count($list)>1)
                    {
                        
    $url1 $list[1];
                        
    $url1List explode("."$url1);
                    
                        
    $url2 implode("/"explode("/"$url1List[0], -1));
                    
                        
    $a $element->find('a'0)->href;
                        
    $listA explode("-"$a);
                        
    $urlPrinci implode("/"explode("/"$url2, -1)) . "/" substr($listA[1], 0strlen($listA[1])-1);
                        
    $urlLow "http://fr.vid.web.480p.acsta.net/nmedia/33/" $urlPrinci ."_m_013.mp4";
                        
    $urlHd "http://fr.vid.web.720p.acsta.net/nmedia/33/" $urlPrinci ."_hd_013.mp4";
                    
                    }
                    
    $content .= "<br><a href='".$urlLow."' target='_blank'>Vidéo</a><br>" 
                    
    "<a href='".$urlHd."' target='_blank'>Vidéo HD</a><br>";
                
                    
    $content str_replace('src="/''src="http://www.allocine.fr/'$content);
                    
    $content str_replace('href="/''href="http://www.allocine.fr/'$content);
                    
    $content str_replace('src=\'/''src=\'http://www.allocine.fr/'$content);
                    
    $content str_replace('href=\'/''href=\'http://www.allocine.fr/'$content);
                    
    $item['content'] = $content;
                    
    $item['title'] = trim($titre->innertext);
                    
    $item['uri'] = "http://www.allocine.fr" $titre->href;
                    
    $this->items[] = $item;
                }
            }
        }
    }
    ?>
  • AllocineBftBridge.php :
    
    <?php

    /**
     * Créé le    07/05/2016
     * Update    07/05/2018 :    mise à jour de RSS-Bridge
     */
    class AllocineBftBridge extends BridgeAbstract
    {
        const 
    NOM "Big Fan Theory";
        
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Allo Cine : " self::NOM;
        const 
    URI "http://www.allocine.fr/video/programme-20403/saison-28878/";
        const 
    CACHE_TIMEOUT 25200// 7 hours
        
    const DESCRIPTION "Allo Cine : " self::NOM " via rss-bridge";
        
        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('figure.media-meta-fig') as $element)
            {
                
    $item = array();
                
                
    $titre $element->find('div.titlebar h3.title a'0);
                    
                if(
    $titre != null)
                {
                    
    $content trim($element->innertext);

                    
    //Recherche de la vidéo
                    
    $metaContent "";
                    
    $urlLow="";
                    foreach(
    $element->find('meta')     as $meta)
                    {
                        
    $metaContent .= "<br>" $meta->content;
                    }
                    
    $list explode("videothumbnails/"$metaContent);
                        
                    if(
    count($list)>1)
                    {
                        
    $url1 $list[1];
                        
    $url1List explode("."$url1);
                    
                        
    $url2 implode("/"explode("/"$url1List[0], -1));
                    
                        
    $a $element->find('a'0)->href;
                        
    $listA explode("-"$a);
                        
    $urlPrinci implode("/"explode("/"$url2, -1)) . "/" substr($listA[1], 0strlen($listA[1])-1);
                        
    $urlLow "http://fr.vid.web.480p.acsta.net/nmedia/33/" $urlPrinci ."_m_013.mp4";
                        
    $urlHd "http://fr.vid.web.720p.acsta.net/nmedia/33/" $urlPrinci ."_hd_013.mp4";
                    
                    }
                    
    $content .= "<br><a href='".$urlLow."' target='_blank'>Vidéo</a><br>" 
                    
    "<a href='".$urlHd."' target='_blank'>Vidéo HD</a><br>";
                
                    
    $content str_replace('src="/''src="http://www.allocine.fr/'$content);
                    
    $content str_replace('href="/''href="http://www.allocine.fr/'$content);
                    
    $content str_replace('src=\'/''src=\'http://www.allocine.fr/'$content);
                    
    $content str_replace('href=\'/''href=\'http://www.allocine.fr/'$content);
                    
    $item['content'] = $content;
                    
    $item['title'] = trim($titre->innertext);
                    
    $item['uri'] = "http://www.allocine.fr" $titre->href;
                    
    $this->items[] = $item;
                }
            }
        }
    }
    ?>
  • AllocineDossierBridge.php :
    
    <?php

    /**
     * Créé le    07/11/2013
     * Update    07/02/2015
     *             24/04/2016 : update de RSS-Bridge
     *             27/10/2016 : mise à jour du site allociné
     *          07/05/2018 :    mise à jour de RSS-Bridge
     */
    class AllocineDossierBridge extends BridgeAbstract
    {
        const 
    NOM "Les dossiers";
        
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Allo Cine : " self::NOM;
        const 
    URI "http://www.allocine.fr/dossiers/cinema//";
        const 
    CACHE_TIMEOUT 7*3600// 7 hours
        
    const DESCRIPTION "Allo Cine : " self::NOM " via rss-bridge";

        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('.section .col-left div') as $element)
            {
                
    $item = array();
                
                
    $a $element->find(".meta h2 a"0);
                if(
    $a)
                {
                    
    $date $element->find(".meta-date"0);
                    if(
    $date)
                        {
                
                        
    $list explode(" "trim($date->innertext));
                        
    $jour $list[1];
                        
    $mois 1;
                        
    $annee $list[3];
                
                        switch (
    strtolower($list[2]))
                        {
                            case 
    "janvier":
                                
    $mois 1;
                                break;
                            case 
    "février":
                            case 
    "fevrier":
                                
    $mois 2;
                                break;
                            case 
    "mars":
                                
    $mois 3;
                                break;
                            case 
    "avril":
                                
    $mois 4;
                                break;
                            case 
    "mai":
                                
    $mois 5;
                                break;
                            case 
    "juin":
                                
    $mois 6;
                                break;
                            case 
    "juillet":
                                
    $mois 7;
                                break;
                            case 
    "aout":
                            case 
    "août":
                                
    $mois 8;
                                break;
                            case 
    "septembre":
                                
    $mois 9;
                                break;
                            case 
    "octobre":
                                
    $mois 10;
                                break;
                            case 
    "novembre":
                                
    $mois 11;
                                break;
                            case 
    "decembre":
                            case 
    "décembre":
                                
    $mois 12;
                                break;
                        }
                
                        
    $contentObject $element->find(".meta-body");
                        if(
    $contentObject)
                        {
                            
    $content $contentObject[0]->innertext;
                            
    $content str_replace('src="/''src="http://www.allocine.fr/'$content);
                            
    $content str_replace('href="/''href="http://www.allocine.fr/'$content);
                            
    $content str_replace('src=\'/''src=\'http://www.allocine.fr/'$content);
                            
    $content str_replace('href=\'/''href=\'http://www.allocine.fr/'$content);
                
                            
    $item['content'] = $content;
                            
    $item['title'] = trim($a->innertext);
                            
    $item['uri'] = "http://www.allocine.fr" $a->href;
                            
    $item['timestamp'] = mktime(000$mois$jour$annee);
                
                            
    $this->items[] = $item;
                        }
                    }
                }
            }
        }
    }
    ?>
  • AllocineFRBridge.php :
    
    <?php

    /**
     * Créé le    07/11/2013
     * Update    17/10/2015 : mise à jour de l'url pour la saison 7
     *             24/04/2016 : mise à jour de RSS-Bridge
     *             16/10/2016 : mise à jour de l'url pour la saison 8
     *             09/09/2017 : mise à jour de l'url pour la saison 9
     *          07/05/2018 : mise à jour de RSS-Bridge
     */
    class AllocineFRBridge extends BridgeAbstract
    {
        const 
    NOM "Faux Raccord";
        
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Allo Cine : " self::NOM;
        const 
    URI "http://www.allocine.fr/video/programme-12284/saison-32180/";
        const 
    CACHE_TIMEOUT 25200// 7 hours
        
    const DESCRIPTION "Allo Cine : " self::NOM " via rss-bridge";
        
        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('figure.media-meta-fig') as $element)
            {
                
    $item = array();
                
                
    $titre $element->find('div.titlebar h3.title a'0);
                    
                if(
    $titre != null)
                {
                    
    $content trim($element->innertext);

                    
    //Recherche de la vidéo
                    
    $metaContent "";
                    
    $urlLow="";
                    foreach(
    $element->find('meta')     as $meta)
                    {
                        
    $metaContent .= "<br>" $meta->content;
                    }
                    
    $list explode("videothumbnails/"$metaContent);
                        
                    if(
    count($list)>1)
                    {
                        
    $url1 $list[1];
                        
    $url1List explode("."$url1);
                    
                        
    $url2 implode("/"explode("/"$url1List[0], -1));
                    
                        
    $a $element->find('a'0)->href;
                        
    $listA explode("-"$a);
                        
    $urlPrinci implode("/"explode("/"$url2, -1)) . "/" substr($listA[1], 0strlen($listA[1])-1);
                        
    $urlLow "http://fr.vid.web.480p.acsta.net/nmedia/33/" $urlPrinci ."_m_013.mp4";
                        
    $urlHd "http://fr.vid.web.720p.acsta.net/nmedia/33/" $urlPrinci ."_hd_013.mp4";
                    
                    }
                    
    $content .= "<br><a href='".$urlLow."' target='_blank'>Vidéo</a><br>" 
                    
    "<a href='".$urlHd."' target='_blank'>Vidéo HD</a><br>";
                
                    
    $content str_replace('src="/''src="http://www.allocine.fr/'$content);
                    
    $content str_replace('href="/''href="http://www.allocine.fr/'$content);
                    
    $content str_replace('src=\'/''src=\'http://www.allocine.fr/'$content);
                    
    $content str_replace('href=\'/''href=\'http://www.allocine.fr/'$content);
                    
    $item['content'] = $content;
                    
    $item['title'] = trim($titre->innertext);
                    
    $item['uri'] = "http://www.allocine.fr" $titre->href;
                    
    $this->items[] = $item;
                }
            }
        }
    }
    ?>
  • AllocineFanzoneBridge.php :
    
    <?php

    /**
     * Créé le    27/06/2015
     * Update    24/04/2016 : mise à jour de RSS-Bridge
                15/10/2016 : mise a jour d'url pour la saison 5
                24/09/2016 : mise a jour d'url pour la saison 6
     *          07/05/2018 : mise à jour de RSS-Bridge
     */
    class AllocineFanzoneBridge extends BridgeAbstract
    {
        const 
    NOM "Fanzone";
        
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Allo Cine : " self::NOM;
        const 
    URI "http://www.allocine.fr/video/programme-12298/saison-32316/";
        const 
    CACHE_TIMEOUT 25200// 7 hours
        
    const DESCRIPTION "Allo Cine : " self::NOM " via rss-bridge";
        
        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('figure.media-meta-fig') as $element)
            {
                
    $item = array();
                
                
    $titre $element->find('div.titlebar h3.title a'0);
                    
                if(
    $titre != null)
                {
                    
    $content trim($element->innertext);

                    
    //Recherche de la vidéo
                    
    $metaContent "";
                    
    $urlLow="";
                    foreach(
    $element->find('meta')     as $meta)
                    {
                        
    $metaContent .= "<br>" $meta->content;
                    }
                    
    $list explode("videothumbnails/"$metaContent);
                        
                    if(
    count($list)>1)
                    {
                        
    $url1 $list[1];
                        
    $url1List explode("."$url1);
                    
                        
    $url2 implode("/"explode("/"$url1List[0], -1));
                    
                        
    $a $element->find('a'0)->href;
                        
    $listA explode("-"$a);
                        
    $urlPrinci implode("/"explode("/"$url2, -1)) . "/" substr($listA[1], 0strlen($listA[1])-1);
                        
    $urlLow "http://fr.vid.web.480p.acsta.net/nmedia/33/" $urlPrinci ."_m_013.mp4";
                        
    $urlHd "http://fr.vid.web.720p.acsta.net/nmedia/33/" $urlPrinci ."_hd_013.mp4";
                    
                    }
                    
    $content .= "<br><a href='".$urlLow."' target='_blank'>Vidéo</a><br>" 
                    
    "<a href='".$urlHd."' target='_blank'>Vidéo HD</a><br>";
                
                    
    $content str_replace('src="/''src="http://www.allocine.fr/'$content);
                    
    $content str_replace('href="/''href="http://www.allocine.fr/'$content);
                    
    $content str_replace('src=\'/''src=\'http://www.allocine.fr/'$content);
                    
    $content str_replace('href=\'/''href=\'http://www.allocine.fr/'$content);
                    
    $item['content'] = $content;
                    
    $item['title'] = trim($titre->innertext);
                    
    $item['uri'] = "http://www.allocine.fr" $titre->href;
                    
    $this->items[] = $item;
                }
            }
        }
    }
    ?>
  • AllocineGMFBridge.php :
    
    <?php

    /**
     * Créé le    04/09/2017
     * Update    07/05/2018 :    mise à jour de RSS-Bridge
     */
    class AllocineGMFBridge extends BridgeAbstract
    {
        const 
    NOM "Give Me Five";
        
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Allo Cine : " self::NOM;
        const 
    URI "http://www.allocine.fr/video/programme-21919/saison-31025/";
        const 
    CACHE_TIMEOUT 25200// 7 hours
        
    const DESCRIPTION "Allo Cine : " self::NOM " via rss-bridge";
        
        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('figure.media-meta-fig') as $element)
            {
                
    $item = array();
                
                
    $titre $element->find('div.titlebar h3.title a'0);
                    
                if(
    $titre != null)
                {
                    
    $content trim($element->innertext);

                    
    //Recherche de la vidéo
                    
    $metaContent "";
                    
    $urlLow="";
                    foreach(
    $element->find('meta')     as $meta)
                    {
                        
    $metaContent .= "<br>" $meta->content;
                    }
                    
    $list explode("videothumbnails/"$metaContent);
                        
                    if(
    count($list)>1)
                    {
                        
    $url1 $list[1];
                        
    $url1List explode("."$url1);
                    
                        
    $url2 implode("/"explode("/"$url1List[0], -1));
                    
                        
    $a $element->find('a'0)->href;
                        
    $listA explode("-"$a);
                        
    $urlPrinci implode("/"explode("/"$url2, -1)) . "/" substr($listA[1], 0strlen($listA[1])-1);
                        
    $urlLow "http://fr.vid.web.480p.acsta.net/nmedia/33/" $urlPrinci ."_m_013.mp4";
                        
    $urlHd "http://fr.vid.web.720p.acsta.net/nmedia/33/" $urlPrinci ."_hd_013.mp4";
                    
                    }
                    
    $content .= "<br><a href='".$urlLow."' target='_blank'>Vidéo</a><br>" 
                    
    "<a href='".$urlHd."' target='_blank'>Vidéo HD</a><br>";
                
                    
    $content str_replace('src="/''src="http://www.allocine.fr/'$content);
                    
    $content str_replace('href="/''href="http://www.allocine.fr/'$content);
                    
    $content str_replace('src=\'/''src=\'http://www.allocine.fr/'$content);
                    
    $content str_replace('href=\'/''href=\'http://www.allocine.fr/'$content);
                    
    $item['content'] = $content;
                    
    $item['title'] = trim($titre->innertext);
                    
    $item['uri'] = "http://www.allocine.fr" $titre->href;
                    
    $this->items[] = $item;
                }
            }
        }
    }
    ?>
  • AllocineNewsInsoliteBridge.php :
    
    <?php

    /**
     * Créé le    25/05/2015
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     *             27/10/2016 : mise à jour du site allociné
     *          07/05/2018 : mise à jour de RSS-Bridge
     */
    class AllocineNewsInsoliteBridge extends BridgeAbstract
    {
        const 
    NOM "Les news insolites";
        
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Allo Cine : " self::NOM;
        const 
    URI "http://www.allocine.fr/news/cinema/rubrique-23209/";
        const 
    CACHE_TIMEOUT 7*3600// 7 hours
        
    const DESCRIPTION "Allo Cine : " self::NOM " via rss-bridge";

        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('.section .col-left div') as $element)
            {
                
    $item = array();
                
                
    $a $element->find(".meta h2 a"0);
                if(
    $a)
                {
                    
    $date $element->find(".meta-date"0);
                    if(
    $date)
                        {
                
                        
    $list explode(" "trim($date->innertext));
                        
    $jour $list[1];
                        
    $mois 1;
                        
    $annee $list[3];
                
                        switch (
    strtolower($list[2]))
                        {
                            case 
    "janvier":
                                
    $mois 1;
                                break;
                            case 
    "février":
                            case 
    "fevrier":
                                
    $mois 2;
                                break;
                            case 
    "mars":
                                
    $mois 3;
                                break;
                            case 
    "avril":
                                
    $mois 4;
                                break;
                            case 
    "mai":
                                
    $mois 5;
                                break;
                            case 
    "juin":
                                
    $mois 6;
                                break;
                            case 
    "juillet":
                                
    $mois 7;
                                break;
                            case 
    "aout":
                            case 
    "août":
                                
    $mois 8;
                                break;
                            case 
    "septembre":
                                
    $mois 9;
                                break;
                            case 
    "octobre":
                                
    $mois 10;
                                break;
                            case 
    "novembre":
                                
    $mois 11;
                                break;
                            case 
    "decembre":
                            case 
    "décembre":
                                
    $mois 12;
                                break;
                        }
                
                        
    $contentObject $element->find(".meta-body");
                        if(
    $contentObject)
                        {
                            
    $content $contentObject[0]->innertext;
                            
    $content str_replace('src="/''src="http://www.allocine.fr/'$content);
                            
    $content str_replace('href="/''href="http://www.allocine.fr/'$content);
                            
    $content str_replace('src=\'/''src=\'http://www.allocine.fr/'$content);
                            
    $content str_replace('href=\'/''href=\'http://www.allocine.fr/'$content);

                            
    $item['content'] = $content;
                            
    $item['title'] = trim($a->innertext);
                            
    $item['uri'] = "http://www.allocine.fr" $a->href;
                            
    $item['timestamp'] = mktime(000$mois$jour$annee);
                
                            
    $this->items[] = $item;
                        }
                    }
                }
            }
        }
    }
    ?>
  • AllocinePLFCBridge.php :
    
    <?php

    /**
     * Créé le    04/09/2017
     * Update    07/05/2018 :    mise à jour de RSS-Bridge
     */
    class AllocinePLFCBridge extends BridgeAbstract
    {
        const 
    NOM "Pour la faire courte";
        
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Allo Cine : " self::NOM;
        const 
    URI "http://www.allocine.fr/video/programme-20960/saison-29678/";
        const 
    CACHE_TIMEOUT 25200// 7 hours
        
    const DESCRIPTION "Allo Cine : " self::NOM " via rss-bridge";
        
        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('figure.media-meta-fig') as $element)
            {
                
    $item = array();
                
                
    $titre $element->find('div.titlebar h3.title a'0);
                    
                if(
    $titre != null)
                {
                    
    $content trim($element->innertext);

                    
    //Recherche de la vidéo
                    
    $metaContent "";
                    
    $urlLow="";
                    foreach(
    $element->find('meta')     as $meta)
                    {
                        
    $metaContent .= "<br>" $meta->content;
                    }
                    
    $list explode("videothumbnails/"$metaContent);
                        
                    if(
    count($list)>1)
                    {
                        
    $url1 $list[1];
                        
    $url1List explode("."$url1);
                    
                        
    $url2 implode("/"explode("/"$url1List[0], -1));
                    
                        
    $a $element->find('a'0)->href;
                        
    $listA explode("-"$a);
                        
    $urlPrinci implode("/"explode("/"$url2, -1)) . "/" substr($listA[1], 0strlen($listA[1])-1);
                        
    $urlLow "http://fr.vid.web.480p.acsta.net/nmedia/33/" $urlPrinci ."_m_013.mp4";
                        
    $urlHd "http://fr.vid.web.720p.acsta.net/nmedia/33/" $urlPrinci ."_hd_013.mp4";
                    
                    }
                    
    $content .= "<br><a href='".$urlLow."' target='_blank'>Vidéo</a><br>" 
                    
    "<a href='".$urlHd."' target='_blank'>Vidéo HD</a><br>";
                
                    
    $content str_replace('src="/''src="http://www.allocine.fr/'$content);
                    
    $content str_replace('href="/''href="http://www.allocine.fr/'$content);
                    
    $content str_replace('src=\'/''src=\'http://www.allocine.fr/'$content);
                    
    $content str_replace('href=\'/''href=\'http://www.allocine.fr/'$content);
                    
    $item['content'] = $content;
                    
    $item['title'] = trim($titre->innertext);
                    
    $item['uri'] = "http://www.allocine.fr" $titre->href;
                    
    $this->items[] = $item;
                }
            }
        }
    }
    ?>
  • AllocineSortieBridge.php :
    
    <?php

    /**
     * Créé le    06/02/2014
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     *             13/08/2016 : changement du site allociné
     *             31/08/2016 : changement de la classe du div d'un film
     *             11/01/2017 : Correction pour afficher à nouveau les affiches des films
     *          07/05/2018 : mise à jour de RSS-Bridge
     */
    class AllocineSortieBridge extends BridgeAbstract
    {
        
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Allo Cine : sorties de la semaine";
        const 
    URI "http://www.allocine.fr/film/cettesemaine.html/";
        const 
    CACHE_TIMEOUT 3*3600;
        const 
    DESCRIPTION "Allo Cine : sorties de la semaine via rss-bridge";

        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Allo cine.'404);
            
            
    $pageAAnalyser true;
            
    $cpt 59// pour les classer comme sur le site qui est un ordre, certe
                       // subjectif, mais qui est à peu près correct en fonction de
                       // l'attente des films (basé sur le nombre de salle qui diffuse
                       // le film
            
            
    foreach ($html->find('div.card-entity-list') as $element)
            {
                
    $item = array();
                
                
    $aTitre $element->find("h2.meta-title a"0);
                
                
    $dateContainer $element->find(".meta-body-info span"0);
                
    $list explode(" "trim($dateContainer->innertext));
                
                if(
    is_array($list) && sizeof($list)>=3)
                {
                    
    $jour $list[0];
                    
    $mois 1;
                    
    $annee $list[2];
                
                    switch (
    strtolower($list[1]))
                    {
                        case 
    "janvier":
                            
    $mois 1;
                            break;
                        case 
    "février":
                        case 
    "fevrier":
                            
    $mois 2;
                            break;
                        case 
    "mars":
                            
    $mois 3;
                            break;
                        case 
    "avril":
                            
    $mois 4;
                            break;
                        case 
    "mai":
                            
    $mois 5;
                            break;
                        case 
    "juin":
                            
    $mois 6;
                            break;
                        case 
    "juillet":
                            
    $mois 7;
                            break;
                        case 
    "aout":
                        case 
    "août":
                            
    $mois 8;
                            break;
                        case 
    "septembre":
                            
    $mois 9;
                            break;
                        case 
    "octobre":
                            
    $mois 10;
                            break;
                        case 
    "novembre":
                            
    $mois 11;
                            break;
                        case 
    "decembre":
                        case 
    "décembre":
                            
    $mois 12;
                            break;
                    }
                    
    $content str_replace('src="/''src="http://www.allocine.fr/'trim($element->innertext));
                    
    $content str_replace('href="/''href="http://www.allocine.fr/'$content);
                    
    $content str_replace('src=\'/''src=\'http://www.allocine.fr/'$content);
                    
    $content str_replace('href=\'/''href=\'http://www.allocine.fr/'$content);
                    
    $content str_replace('data-src=''src='$content);
                    
    $content str_replace('src="data''srcData="data'$content);
                
                    
    $item['content'] = $content;
                    
    $item['timestamp'] = mktime(00$cpt$mois$jour$annee);
                    
    $item['title'] = $aTitre->innertext;
                    
    $item['uri'] = "http://www.allocine.fr" $aTitre->href;
                    
    $this->items[] = $item;
                    
    $cpt --;
                }
            }
        }
    }
    ?>
  • DragonarteBridge.php :
    
    <?php

    /**
     * Créé le    22/06/2015
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     * Update    09/11/2017
     * Update   07/05/2018 : mise à jour de RSS-Bridge
     */
    class DragonarteBridge extends BridgeAbstract
    {
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Dragonarte";
        const 
    URI "http://dragonarte.com.br";
        const 
    CACHE_TIMEOUT 12*3600;
        const 
    DESCRIPTION "Dragonarte Rss-bridge";
        
        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Dragonarte.'404);
            
            
    $trTable $html->find("table table tr"3);
            
    $tr $trTable->find("table tr"5);
            
            foreach (
    $tr->find('table') as $element)
            {
                
    $item = array();
                
    $trTitre $element->find('tr'0);
                
    $titre $trTitre->find("strong"0)->innertext;
                
    $trImg $element->find('tr'2);
                
                
    $item['uri'] = $this->getURI() . "#" urlencode($titre); // pour un id unique
                
    $item['title'] = $trTitre->find("strong"0)->innertext;
                
                
    $content $trImg->find("td"0)->innertext;
                
    $content str_replace('src="''src="' $this->getURI(), $content);
                
    $item['content'] = $content;
                
                
    $this->items[] = $item;
                
            }
        }

        public function 
    getName()
        {
            return 
    'Dragonarte';
        }

        public function 
    getURI()
        {
            return 
    'http://dragonarte.com.br/';
        }

        public function 
    getCacheDuration()
        {
            return 
    43200// 12h hours
        
    }
    }
    ?>
  • FcMetzBridge.php :
    
    <?php

    /**
     * Créé le    20/08/2015
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     * Update   07/05/2018 : mise à jour de RSS-Bridge
     */
    class FcMetzBridge extends BridgeAbstract
    {
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "FC Metz";
        const 
    URI "http://www.fcmetz.com/actualites/news";
        const 
    CACHE_TIMEOUT 7*3600;
        const 
    DESCRIPTION "FC Metz Rss-bridge";

        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request FC Metz.'404);
            
    $cpt 0;
            foreach (
    $html->find('div.row-wrapper') as $element)
            {
                
    $h3Titre $element->find("h3"0);
                
    $jour $h3Titre->find(".jour-actu"0)->innertext;
                
    $mois $h3Titre->find(".mois-actu"0)->innertext;
                
    $annee $h3Titre->find(".annee-actu"0)->innertext;
                    
                switch(
    strtolower($mois))
                {
                    case 
    "jan" $mois 1;
                    break;
                    case 
    "fév" $mois 2;
                    break;
                    case 
    "mar" $mois 3;
                    break;
                    case 
    "avr" $mois 4;
                    break;
                    case 
    "mai" $mois 5;
                    break;
                    case 
    "juin" $mois 6;
                    break;
                    case 
    "juil" $mois 7;
                    break;
                    case 
    "aoû" $mois 8;
                    break;
                    case 
    "sep" $mois 9;
                    break;
                    case 
    "oct" $mois 10;
                    break;
                    case 
    "nov" $mois 11;
                    break;
                    case 
    "déc" $mois 12;
                    break;
                }

                foreach (
    $element->find('div.row-content>div.views-row') as $sselement)
                {
                    
    $item = array();
                    
    $content $sselement->innertext;
                    
    $content str_replace('src="/''src="http://fcmetz.com/'$content);
                    
    $content str_replace('href="/''href="http://fcmetz.com/'$content);
                    
    $content str_replace('src=\'/''src=\'http://fcmetz.com/'$content);
                    
    $content str_replace('href=\'/''href=\'http://fcmetz.com/'$content);
                    
    $item['content'] = $content;
                        
                    
    $titre $sselement->find("div.title span a"0);
                    
    $item['timestamp'] = mktime(000intval($mois), intval($jour), intval($annee));
                    
    $item['title'] = trim($titre->innertext);
                    
    $item['uri'] = "http://fcmetz.com" $titre->href;
                    
    $this->items[] = $item;
                }
            }
        }
    }
  • FootitoBridge.php :
    
    <?php

    /**
     * Update    12/06/2014    : on peut voir les images et ajout de l'uri de l'item
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     * Update   07/05/2018 : mise à jour de RSS-Bridge
     */
    class FootitoBridge extends BridgeAbstract
    {
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Footito";
        const 
    URI "http://www.footito.fr";
        const 
    CACHE_TIMEOUT 1*3600;
        const 
    DESCRIPTION "Footito Rss-bridge";

        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Footito.'404);
            
            foreach (
    $html->find('div.post') as $element)
            {
                
    $item = array();
                
                
    $content trim($element->innertext);
                
    $content str_replace("<img""<img style='float : left;'"$content);
                
    $content str_replace("class=\"logo\"""style='float : left;'"$content);
                
    $content str_replace("class=\"contenu\"""style='margin-left : 60px;'"$content);
                
    $content str_replace("class=\"responsive-comment\"""style='border-top : 1px #DDD solid; background-color : white; padding : 10px;'"$content);
                
    $content str_replace("class=\"jaime\"""style='display : none;'"$content);
                
    $content str_replace("class=\"auteur-event responsive\"""style='display : none;'"$content);
                
    $content str_replace("class=\"report-abuse-button\"""style='display : none;'"$content);
                
    $content str_replace("class=\"reaction clearfix\"""style='margin : 10px 0px; padding : 5px; border-bottom : 1px #DDD solid;'"$content);
                
    $content str_replace("class=\"infos\"""style='font-size : 0.7em;'"$content);
                
                
    // on évite de passer par leurs script à la con pour afficher un
                // simple image...
                
    $content str_replace("http://www.footito.fr/phpthumb/phpThumb.php?ar=x&w=400&src="""$content);
                
                
    $item['content'] = $content;
                
                
    $title $element->find('.contenu .texte '0)->plaintext;
                
    $item['title'] = $title;
                
                
    $info $element->find('div.infos'0);
                
    $date $info->find('time'0);
                
    $item['timestamp'] = strtotime($date->datetime);
                
    $item['author'] = $info->find('a.auteur'0)->plaintext;
                
    $item['uri'] = $date->find("a"0)->href;
                
    $item['uri'] = $date->find("a"0)->href '#' sizeOf($element->find(".reaction"));
                
                
    $this->items[] = $item;
            }
        }
    }
    ?>
  • LesJoiesDuCodeBridge.php (depuis qu'ils ont eu la "merveilleuse" idée de supprimer les gif de leur flux. MAJ 05/06/2015 : pour la nouvelle version du site) :
    
    <?php

    /**
     * Créé le    30/01/2014
     * Update    03/01/2015 : transformation des jpg en gif
     *            04/06/2015 : nouvelle version du site
     *            03/12/2015 : il n'y avait plus qu'une gif d'affichée
     *             24/04/2016 : mise à jour de RSS-Bridge
     *          07/05/2018 : mise à jour de RSS-Bridge
     */
    class LesJoiesDuCodeBridge extends BridgeAbstract
    {
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Les Joies Du Code";
        const 
    URI "http://lesjoiesducode.fr";
        const 
    CACHE_TIMEOUT 1*3600;
        const 
    DESCRIPTION "Les Joies Du Codevia Rss-bridge";

        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request LesJoiesDuCode.'404);
            
            foreach (
    $html->find('div.blog-post') as $element)
            {
                
    $temp $element->find('h1 a'0);
                
                
    $titre trim($temp->innertext);
                
    $url $temp->href;
                
                
    $temp $element->find('div.blog-post-content'0);
                
                
    $auteur $temp->find('p.post-author'0);
                
    $pos strpos($auteur->innertext"par");
                
    $item = array();
                
                if (
    $pos 0)
                {
                    
    $auteur trim(substr($auteur->innertext, ($pos 4)));
                    
    $item['author'] = $auteur;
                }
                
                
    $item['content'] = trim($temp->innertext);
                
    $item['uri'] = $url;
                
    $item['title'] = trim($titre);
                
                
    $this->items[] = $item;
            }
        }
    }
    ?>
  • MmmLaBdBridge.php :
    
    <?php

    /**
     * Créé le    17/10/2013
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     * Update   07/05/2018 : mise à jour de RSS-Bridge
     */
    class MmmLaBdBridge extends BridgeAbstract
    {
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Mmm La Bd";
        const 
    URI "http://hmm-la-bd.eu";
        const 
    CACHE_TIMEOUT 12*3600;
        const 
    DESCRIPTION "Mmm La Bd via Rss-bridge";

        public function 
    collectData()
        {
            
    $nbItem 10// nombre d'item dans le flux. ATTENTION, hormis la dernière
                          // image, toutes les requêtes sont simultanées! Vérifiez donc
                          // que votre serveur supporte ce nombre de requête simultanées
            
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request mmm la bd.'404);
            
    $nb 0;
            foreach (
    $html->find('div#main_page') as $element)
            {
                
    $a $element->find('a'5);
                
    $img $a->find('img'0);
                
                
    $item = array();
                
    $item['content'] = $img->title "<br>\n" $a->innertext;
                
    $item['uri'] = $a->href;
                
    $item['title'] = $img->alt;
                
    $nb intval($img->alt); // l'attibut alt contient quelque chose du
                                         // genre "240 - Ascenseur" et je ne veut que le
                                         // "240".
                
    $this->items[] = $item;
            }
            
            if (
    $nb $nbItem)
            {
                
    // Création du gestionnaire multiple
                
    $mh curl_multi_init();
                
    $timeoutCurl 30;
                
    // servira pour les traitements qui seront fait une fois que tous
                // les sites auront répondus
                
    $listeCurl = array();
                
                for (
    $i = ($nb 1); $i > ($nb - ($nbItem 1)); $i --)
                {
                    
    $uri 'http://hmm-la-bd.eu/' $i;
                    
    $ch curl_init($uri);
                    
    // curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
                    
    curl_setopt($chCURLOPT_FRESH_CONNECTtrue);
                    
    curl_setopt($chCURLOPT_TIMEOUT$timeoutCurl);
                    
    curl_setopt($chCURLOPT_CONNECTTIMEOUT$timeoutCurl);
                    
    curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
                    
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
                    
                    
    $listeCurl[] = array(
                            
    "ch" => $ch,
                            
    "uri" => $uri
                    
    );
                    
                    
    curl_multi_add_handle($mh$ch);
                }
                
                
    $running null;
                do
                {
                    
    curl_multi_exec($mh$running);
                } while (
    $running 0);
                
                
    // traitement des résultats
                
    foreach ($listeCurl as $lc)
                {
                    
    $xmlStr curl_multi_getcontent($lc["ch"]);
                    
    $html str_get_html($xmlStr) or $this->returnError('Could not request mmm la bd.'404);
                    
    $nb 0;
                    foreach (
    $html->find('div#main_page') as $element)
                    {
                        
    $a $element->find('a'5);
                        
    $img $a->find('img'0);
                        
                        
    $item = array();
                        
    $item['content'] = $img->title "<br>\n" $a->innertext;
                        
    $item['uri'] = $lc["uri"];
                        
    $item['title'] = $img->alt;
                        
    $this->items[] = $item;
                    }
                    
    curl_multi_remove_handle($mh$lc["ch"]);
                }
                
    curl_multi_close($mh);
            }
        }
    }
    ?>
  • NightwishBridge.php :
    
    <?php

    /**
     * Créé le    01/04/2015
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     * Update   07/05/2018 : mise à jour de RSS-Bridge
     */
    class NightwishBridge extends BridgeAbstract
    {
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Nightwish.fr";
        const 
    URI "http://www.nightwish.fr/website/html/index.php";
        const 
    CACHE_TIMEOUT 12*3600;
        const 
    DESCRIPTION "Nightwish.fr via Rss-bridge";

        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Nightwish.'404);
            foreach (
    $html->find('table table') as $element)
            {
                
    $item = array();
                
                
    $titre $element->find('td.titretab'0);
                if (
    $titre != false)
                {
                    list (
    $date$title) = explode(":"$titre->innertext2);
                    
    $title trim($title);
                    if (
    $title != "")
                    {
                        
                        
    $item['title'] = $title;
                        list (
    $jour$mois$annee) = explode("/"trim($date), 3);
                        
    $item['timestamp'] = mktime(000$mois$jour$annee);
                        
    $item['uri'] = $this->getURI() . "#" md5($title);
                        
    $item['content'] = $element->find("td.cell-main"0)->innertext;
                        
    $this->items[] = $item;
                    }
                }
            }
        }
    }
    ?>
  • PapacubeBridge.php :
    
    <?php

    /**
     * Créé le    10/04/2016
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     * Update   07/05/2018 : mise à jour de RSS-Bridge
     */
    class PapacubeBridge extends BridgeAbstract
    {
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Papacube";
        const 
    URI "http://www.papacube.com";
        const 
    CACHE_TIMEOUT 4*3600;
        const 
    DESCRIPTION "Papacube via Rss-bridge";
        
        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request ' $this->getName(), 404);
            
    $cpt 1;
            foreach (
    $html->find('#Blog1 .date-outer .hentry') as $element)
            {
                
    $titleA $element->find(".post-title a"0);
                
    $footer $element->find(".post-footer .post-footer-line-1"0);
                
    $auteur $footer->find(".post-author span"0)->innertext;
                
    $time $footer->find(".post-timestamp abbr"0)->title;
                
                
    $title $titleA->innertext;
                
    $url $titleA->href;
                
    $content $element->find(".post-body"0)->innertext;
                
                
    $item = array();
                
                
    $item['title'] = $title;
                
    $item['uri'] = $url;
                
    $item['content'] = $content;
                
    $item['author'] = $auteur;
                
    $item['timestamp'] = strtotime($time);
                
                
    $this->items[] = $item;
            }
        }
    }
    ?>
  • ScmbBridge.php (script initial de supitalp que j'ai modifié) :
    
    <?php

    /**
     * Auteur initial    supitalp
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     * Update   07/05/2018 : mise à jour de RSS-Bridge
     */
    class ScmbBridge extends BridgeAbstract
    {
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Se Coucher Moins Bête";
        const 
    URI "http://secouchermoinsbete.fr";
        const 
    CACHE_TIMEOUT 6*3600;
        const 
    DESCRIPTION "Se Coucher Moins Bête via Rss-bridge";

        public function 
    collectData()
        {
            
    $html '';
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Se Coucher Moins Bete.'404);
            
    $cpt 0;
            
    $cptMax 7;
            foreach (
    $html->find('article') as $article)
            {
                
    $item = array();
                
    // get publication date
                
    $str_date $article->find('time'0)->datetime;
                
                
    // les news ne seront plus prise en compte. Le test n'est pas super
                // explicite, mais ça marche
                
    if (strlen($str_date) >= 16)
                {
                    
    $item['uri'] = 'http://secouchermoinsbete.fr' $article->find('p.summary a'0)->href;
                    
    $item['title'] = $article->find('header h1 a'0)->innertext;
                    
                    list (
    $date$time) = explode(' '$str_date);
                    list (
    $y$m$d) = explode('-'$date);
                    list (
    $h$i) = explode(':'$time);
                    
    $timestamp mktime($h$i0$m$d$y);
                    
    $item['timestamp'] = $timestamp;
                    
                    
    $adresse $article->find('address span'0);
                    
    $temp $adresse->find("a"0);
                    if (! 
    is_null($temp))
                    {
                        
    $adresse $temp;
                    }
                    
    $item['author'] = $adresse->innertext;
                    
                    
    // TODO: this should be optional since it is highly time and
                    // broadband consuming
                    // check if the anecdote has more content to offer (text
                    // details, picture, video) and follow link to retrieve it if
                    // that is the case
                    
    $optcontent $article->find('div.metadata-list a');
                    
    $hasPic = (preg_match("#pas#"$optcontent[0]->innertext)) ? false true;
                    
    $hasVid = (preg_match("#pas#"$optcontent[1]->innertext)) ? false true;
                    
    $hasDetails = (preg_match("#pas#"$optcontent[2]->innertext)) ? false true;
                    
                    
    $article->find('span.read-more'0)->outertext ''// remove text "En
                                                                      // savoir plus" from
                                                                      // anecdote content
                    
    $content $article->find('p.summary a'0)->innertext;
                    
    $content substr($content0strlen($content) - 17); // remove
                                                                       // superfluous spaces at
                                                                       // the end
                    
                    
    if ($hasDetails || $hasPic || $hasVid)
                    {
                        
    $cpt ++;
                        if (
    $cpt $cptMax)
                        {
                            
    $opt_html file_get_html($item['uri']);
                        }
                    }
                    if (
    $hasDetails && $cpt $cptMax)
                    {
                        
    $details $opt_html->find('p.details'0);
                        if(
    $details != null)
                        {
                            
    $content $content '<br />' $details->innertext;
                        }
                    }
                    if (
    $hasPic && $cpt $cptMax)
                    {
                        
    $picUri $opt_html->find('div#sources-image-wrapper a'0);
                        if(
    $picUri != null)
                        {
                            
    $content $content '<br /><img src="' $picUri->href '" />';
                        }
                    }
                    if (
    $hasVid && $cpt $cptMax)
                    {
                        
    $vidUri $opt_html->find('div#sources-video-wrapper iframe'0);
                        if (
    $vidUri != null)
                        {
                            
    $vidUri explode('?'$vidUri->src); // remove "?autoplay=0"
                            
    $content $content '<br /><a href="' $vidUri[0] . '">Vidéo</a>';
                        }
                    }
                    
                    
    $item['content'] = $content;
                    
    $this->items[] = $item;
                }
            }
        }
    }
    ?>
  • TheCodingLoveBridge.php (depuis qu'il a subit le même sort que les joies du code...) :
    
    <?php

    /**
     * Créé le    30/01/2014
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     * Update   07/05/2018 : mise à jour de RSS-Bridge
     */
    class TheCodingLoveBridge extends BridgeAbstract
    {
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "The Coding Love";
        const 
    URI "http://thecodinglove.com";
        const 
    CACHE_TIMEOUT 3600;
        const 
    DESCRIPTION "The Coding Love via Rss-bridge";

        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request The Coding Love.'404);
            
            foreach (
    $html->find('div.post') as $element)
            {
                
    $item = array();
                
    $temp $element->find('h3 a'0);
                
                
    $titre $temp->innertext;
                
    $url $temp->href;
                
                
    $temp $element->find('div.bodytype'0);
                
    $content $temp->innertext;
                
                
    $auteur $temp->find('.c1 em'0);
                if(
    $auteur != null)
                {
                    
    $pos strpos($auteur->innertext"by");
                
                    if (
    $pos 0)
                    {
                        
    $auteur trim(str_replace("*/"""substr($auteur->innertext, ($pos 2))));
                        
    $item['author'] = $auteur;
                    }
                }
                
                
    $item['content'] = trim(str_replace(".jpg"".gif"$content));
                
    $item['uri'] = $url;
                
    $item['title'] = trim($titre);
                
                
    $this->items[] = $item;
            }
        }
    }
    ?>
  • TuxboardBridge.php (je ne sais pas pourquoi, mais quand j'utilise le flux RSS du site, j'ai mon CPU qui monte à 100% pour ne plus redescendre...) :
    
    <?php

    /**
     * Créé le    15/01/2014
     * Update    01/07/2014 nouvelle version du site
     *             24/04/2016 : mise à jour de RSS-Bridge
     *          07/05/2018 : mise à jour de RSS-Bridge
     */
    class TuxboardBridge extends BridgeAbstract
    {
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "Tuxboard";
        const 
    URI "http://www.tuxboard.com";
        const 
    CACHE_TIMEOUT 14600// 4 hours
        
    const DESCRIPTION "Tuxboard via Rss-bridge";

        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Tuxboard.'404);
            
            foreach (
    $html->find('section.colonne-full') as $element)
            {
                
    $a $element->find("h3 a"0);
                
                
    $p $element->find("p"0);
                
    $figure $element->find("figure"0);
                
    $tag $element->find("h4"0);
                
                
    $content $figure->innertext "" $p->outertext "tag : " $tag->innertext;
                
                
    $item = array();
                
                
    $item['uri'] = $a->href;
                
    $item['title'] = $a->innertext;
                
    $item['content'] = trim($content);
                
                
    $this->items[] = $item;
            }
        }
    }
    ?>
  • YggBridge.php :
    
    <?php

    /**
     * Créé le    21/07/2017
     * update 20/08/2017 : changement de skin
     * update 07/11/2017 : yggtorrent
     * update 03/04/2018 : nouvelle version de yggtorrent
     * Update 07/05/2018 : mise à jour de RSS-Bridge
     */
    class YggBridge extends BridgeAbstract
    {
        const 
    MAINTAINER 'Superbaillot';
        const 
    NAME "yggtorrent séries";
        const 
    URI "http://yggtorrent.is/engine/search?name=&description=&file=&uploader=&category=2145&sub_category=2184&do=search";
        const 
    CACHE_TIMEOUT 3500// < 1 heures
        
    const DESCRIPTION "yggtorrent séries via Rss-bridge";

        public function 
    collectData()
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request yggtorrent séries.'404);

            foreach (
    $html->find('.col-lg-12 table tbody tr') as $element)
            {
                
    $td1 $element->find("td"1);
                if(
    $td1 != null)
                {
                    
    $a1 $td1->find("a"0);
                    if(
    $a1 != null)
                    {
                        
    $a2 $td1->find("a"1);
                        
    $td2 $element->find("td"5);
                
                        
    $item = array();
                        
    $item['content'] = "<a href=\"" $a1->href "\" target=\"_blank\">" $a1->innertext " - " $td2->innertext "</a>";
                        
    $item['title'] = $a1->innertext " - " $td2->innertext;
                        
    $item['uri'] = $a1->href;
                        
    $this->items[] = $item;
                    }
                }
            }
        }
    }
    ?>

Commentaires Flux RSS des Commentaires.

# Pazns le 30/01/2014 23:11:40

Ah, sebsauvage qui parle d'ici !
http://sebsauvage.net/links/?wVLb1g

Ça va faire un bon coup de pub, pour sûr.

# Anabis le 31/01/2014 09:26:18

Pourquoi tu en as un pour Dilbert ? Ils ont un RSS de base : http://dilbert.com/rss/

# Adrien le 31/01/2014 09:34:37

Arf, merci pour les joies du code, j'ai cru que les gifs étaient bloqués par AB Plus ;)

# Riduidel le 31/01/2014 10:23:01

@Anabis le flux RSS de Dilbert ne contient plus depuis un sacré moment les images, ce qui le rend à peu près inutile.

# Epsilon le 31/01/2014 12:27:57

Même question qu'Anabis mais pour se coucher moins bête ?
(https://www.blogger.com/feeds/1879199009612029553/posts/default).
Sinon merci pour top 5 et faux raccord, ça faisait un momnet que je pestais contre allociné.
Merci aussi pour les joies du code ça fait du bien de revoir les gif dans ses flux ;).

# Greg le 31/01/2014 13:00:00

Bonjour,
ce ne doit pas être l'endroit pour, mais j'ai une question technique pour RSS-Bridge. Je l'ai installé, mais quand je clique un bouton, ça me propose de télécharger le fichier (et pas d'ajouter le lien dans tt-rss). J'ai vérifié les headers, etc. Rien.
Une idée ?

P.S : merci beaucoup pour ces Bridges, j'suis heureux d'en voir un pour Allociné/Faux-Raccord :)

# PoGo le 31/01/2014 13:28:23

Salut !
Merci pour tous ces nouveaux Bridges o/

J'ai mis en place une instance ici : https://wtf.roflcopter.fr/rss-bridge/

Si jamais ça peut aider à décharger ton serveur :)

# Greg le 31/01/2014 15:03:05

Mince, j'ai trouvé tout seul !
En recopiant les scripts, j'ai laissé un espace au début du fichier de bridge. Du coup, mon Firefox n'interprétait plus comme un flux ATOM/XML.
Pfff…

# Superbaillot le 31/01/2014 23:27:10

Un petit effet sebsauvage, en effet :)

Ça me fait plaisir que ce que j'ai fait sert à d'autre.


@Epsilon : tu confonds "Se coucher moins bête" et "Tu mourras moins bête" :)

Et oui, il y a un RSS de "Se coucher moins bête", mais certains articles ne sont pas complet.

# Epsilon le 05/02/2014 18:27:32

@Superbaillot : my bad j'ai lu un peu vite ;)
sinon encore merci pour les flux allociné et joie du code.

# lieo le 07/02/2014 21:08:34

Merci bien, vraiment génial ce petit rss-bridge, perso j'ai juste un peu modifier pour LesJoiesDuCode une petite duplication pour rajouter la page2 :D .

# Superbaillot le 08/02/2014 08:23:50

C'est vrai qu'il en a que 4 sur la première page.
Mais il n'y en pas de nouveau tous les quarts d'heure :)
Et comme chez moi, les flux sont rafraichis toutes les heures, j'ai pas jugé utile de prendre en compte la page 2.
Mais je comprends que ça peut être utile pour d'autre.

# brouillon le 03/01/2015 14:57:13

Petit problème avec celui des joies du code où ils utilisent un .jpg à la place du .gif, ce dernier est remplacé lors du onload en js sur leur site avec en commentaire en prévision de la version 2 de ljdc.
Une correction est elle prévue ?

# Superbaillot le 03/01/2015 17:52:45

J'ai vu ça pour il y a quelques jours.
Je viens de faire la correction pour Les joies du code et pour The coding love, car si c'est comme pour la disparition des images dans le flux RSS d'origine, ça ne va pas tarder :)

# brouillon le 04/01/2015 13:19:56

Super, merci à toi !

# Jaguar le 20/10/2015 20:01:45

BOnjour,

J'aimerai installer cette petite perle sur mon mutualiser, mais je ne trouve pas d'infos !

J'ai téléchargé le script sur github, décompresser sur mon espace mais ca m'affiche une page blanche !

Quelqu'un sait ? svp

# Superbaillot le 20/10/2015 20:22:03

Normalement, il suffit de décompresser et de lancer le index.php
Si tu as une page blanche, tu dois avoir une erreur quelque part. Pour afficher un message d'erreur, décommente la ligne :

ini_set('display_errors','1'); error_reporting(E_ALL); // For debugging only.

# Jaguar le 21/10/2015 06:41:33

Ou ce trouve la ligne pour le debug ?

J'ai re fait le test, je télécharge, décompresse et envoi le dossier complet, toujours pareil... Page blanche !

# Superbaillot le 21/10/2015 07:05:05

Elle se trouve dans le fichier index.php.

# Jaguar le 23/10/2015 12:26:11

Re ! Pardon pour le retard.

Alors j'ai ca :

date_default_timezone_set('UTC');
error_reporting(0);
//ini_set('display_errors','1'); error_reporting(E_ALL); // For debugging only.

# Superbaillot le 23/10/2015 22:57:26

Pour afficher le message d'erreur, il faut que tu supprimes les // avant ini_set('display_errors','1')…

# Jaguar le 24/10/2015 08:07:27

On va y arriver !

Fatal error: Cannot redeclare class HttpException in /home/clients/992dcef983fca4ab050e7ed1a163189e/web/rssbridge/lib/Exceptions.php on line 2

# Superbaillot le 27/10/2015 06:57:53

Heu… la, comme ça, je vois pas pourquoi tu as cette erreur.
Je ne sais pas si ça peut venir de là, mais ton hébergeur est bien en php 5.3 ou supérieur?
Moi, je viens de mettre à jour ma version de Rss-Bridge, et comme mon hébergeur est en 5.2, j'ai eu quelques soucis, mais pas le tien.

# Jaguar le 27/10/2015 19:05:48

Je suis en php 5.5

C'est bizarre, mais j'ai cru lire je sais plus trop ou par contre !

Je suis en httpS, c'est peut etre ca non ?!

# Superbaillot le 27/10/2015 22:56:42

Je vois pas le rapport avec l'erreur en question.
Désolé de pas pouvoir t'aider.

Veuillez, s'il vous plait respecter quelques règles lorsque vous postez un commentaire, merci.