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
     */
    class AlestormBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "alestorm.net";
            
    $this->uri "http://alestorm.net";
            
    $this->description "alestorm.net via Rss-bridge";
            
    $this->update "30/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request alestorm.'404);
            foreach (
    $html->find('#contentleft .newsbox') as $element)
            {
                
    $item = new Item();
                
                
    $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;
            }
        }

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

        public function 
    getURI()
        {
            return 
    'http://alestorm.net';
        }

        public function 
    getCacheDuration()
        {
            return 
    43200// 12h hours
        
    }
    }
    ?>
  • 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
     */
    class AllocineAVRBridge extends BridgeAbstract
    {
        private 
    $_URL "http://www.allocine.fr/video/programme-19518/saison-32140/";
        private 
    $_NOM "Aviez-vous remarqué ?";

        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Allo Cine : " $this->_NOM;
            
    $this->uri $this->_URL;
            
    $this->description "Allo Cine : " $this->_NOM " via rss-bridge";
            
    $this->update "09/09/2017";
        }
        
        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('figure.media-meta-fig') as $element)
            {
                
    $item = new Item();
                
                
    $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;
                }
            }
        }

        public function 
    getName()
        {
            return 
    'Allo Cine : ' $this->_NOM;
        }

        public function 
    getURI()
        {
            return 
    $this->_URL;
        }

        public function 
    getCacheDuration()
        {
            return 
    25200// 7 hours
        
    }
    }
    ?>
  • AllocineBftBridge.php :
    
    <?php

    /**
     * Créé le    07/05/2016
     */
    class AllocineBftBridge extends BridgeAbstract
    {
                
        private 
    $_URL "http://www.allocine.fr/video/programme-20403/saison-28878/";
        private 
    $_NOM "Big Fan Theory";

        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Allo Cine : " $this->_NOM;
            
    $this->uri $this->_URL;
            
    $this->description "Allo Cine : " $this->_NOM " via rss-bridge";
            
    $this->update "07/05/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('figure.media-meta-fig') as $element)
            {
                
    $item = new Item();
                
                
    $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;
                }
            }
        }

        public function 
    getName()
        {
            return 
    'Allo Cine : ' $this->_NOM;
        }

        public function 
    getURI()
        {
            return 
    $this->_URL;
        }

        public function 
    getCacheDuration()
        {
            return 
    25200// 7 hours
        
    }
    }
    ?>
  • 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é
     */
    class AllocineDossierBridge extends BridgeAbstract
    {
        private 
    $_URL "http://www.allocine.fr/dossiers/cinema/";
        private 
    $_NOM "Les dossiers";

        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Allo Cine : " $this->_NOM;
            
    $this->uri $this->_URL;
            
    $this->description "Allo Cine : " $this->_NOM " via rss-bridge";
            
    $this->update "27/10/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('.section .col-left div') as $element)
            {
                
    $item = new Item();
                
                
    $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;
                        }
                    }
                }
            }
        }

        public function 
    getName()
        {
            return 
    'Allo Cine : ' $this->_NOM;
        }

        public function 
    getURI()
        {
            return 
    $this->_URL;
        }

        public function 
    getCacheDuration()
        {
            return 
    7*3600// 7 hours
        
    }
    }
    ?>
  • 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
     */
    class AllocineFRBridge extends BridgeAbstract
    {
                
        private 
    $_URL "http://www.allocine.fr/video/programme-12284/saison-32180/";
        private 
    $_NOM "Faux Raccord";

        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Allo Cine : " $this->_NOM;
            
    $this->uri $this->_URL;
            
    $this->description "Allo Cine : " $this->_NOM " via rss-bridge";
            
    $this->update "09/09/2017";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('figure.media-meta-fig') as $element)
            {
                
    $item = new Item();
                
                
    $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;
                }
            }
        }

        public function 
    getName()
        {
            return 
    'Allo Cine : ' $this->_NOM;
        }

        public function 
    getURI()
        {
            return 
    $this->_URL;
        }

        public function 
    getCacheDuration()
        {
            return 
    4*3600// 4 hours
        
    }
    }
    ?>
  • 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
     */
    class AllocineFanzoneBridge extends BridgeAbstract
    {
        private 
    $_URL "http://www.allocine.fr/video/programme-12298/saison-32316/";
        private 
    $_NOM "Fanzone";

        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Allo Cine : " $this->_NOM;
            
    $this->uri $this->_URL;
            
    $this->description "Allo Cine : " $this->_NOM " via rss-bridge";
            
    $this->update "24/09/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('figure.media-meta-fig') as $element)
            {
                
    $item = new Item();
                
                
    $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;
                }
            }
        }

        public function 
    getName()
        {
            return 
    'Allo Cine : ' $this->_NOM;
        }

        public function 
    getURI()
        {
            return 
    $this->_URL;
        }

        public function 
    getCacheDuration()
        {
            return 
    25200// 7 hours
        
    }
    }
    ?>
  • AllocineGMFBridge.php :
    
    <?php

    /**
     * Créé le    04/09/2017
     */
    class AllocineGMFBridge extends BridgeAbstract
    {
        private 
    $_URL "http://www.allocine.fr/video/programme-21919/saison-31025/";
        private 
    $_NOM "Give Me Five";

        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Allo Cine : " $this->_NOM;
            
    $this->uri $this->_URL;
            
    $this->description "Allo Cine : " $this->_NOM " via rss-bridge";
            
    $this->update "04/09/2017";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('figure.media-meta-fig') as $element)
            {
                
    $item = new Item();
                
                
    $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;
                }
            }
        }

        public function 
    getName()
        {
            return 
    'Allo Cine : ' $this->_NOM;
        }

        public function 
    getURI()
        {
            return 
    $this->_URL;
        }

        public function 
    getCacheDuration()
        {
            return 
    25200// 7 hours
        
    }
    }
    ?>
  • 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é
     */
    class AllocineNewsInsoliteBridge extends BridgeAbstract
    {
        private 
    $_URL "http://www.allocine.fr/news/cinema/rubrique-23209/";
        private 
    $_NOM "Les news insolites";

        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Allo Cine : " $this->_NOM;
            
    $this->uri $this->_URL;
            
    $this->description "Allo Cine : " $this->_NOM " via rss-bridge";
            
    $this->update "27/10/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('.section .col-left div') as $element)
            {
                
    $item = new Item();
                
                
    $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;
                        }
                    }
                }
            }
        }

        public function 
    getName()
        {
            return 
    'Allo Cine : ' $this->_NOM;
        }

        public function 
    getURI()
        {
            return 
    $this->_URL;
        }

        public function 
    getCacheDuration()
        {
            return 
    25000// 7 hours
        
    }
    }
    ?>
  • AllocinePLFCBridge.php :
    
    <?php

    /**
     * Créé le    04/09/2017
     */
    class AllocinePLFCBridge extends BridgeAbstract
    {
        private 
    $_URL "http://www.allocine.fr/video/programme-20960/saison-29678/";
        private 
    $_NOM "Pour la faire courte";

        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Allo Cine : " $this->_NOM;
            
    $this->uri $this->_URL;
            
    $this->description "Allo Cine : " $this->_NOM " via rss-bridge";
            
    $this->update "04/09/2017";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('figure.media-meta-fig') as $element)
            {
                
    $item = new Item();
                
                
    $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;
                }
            }
        }

        public function 
    getName()
        {
            return 
    'Allo Cine : ' $this->_NOM;
        }

        public function 
    getURI()
        {
            return 
    $this->_URL;
        }

        public function 
    getCacheDuration()
        {
            return 
    25200// 7 hours
        
    }
    }
    ?>
  • 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
     */
    class AllocineSortieBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Allo Cine : sorties de la semaine";
            
    $this->uri "http://www.allocine.fr/film/cettesemaine.html/";
            
    $this->description "Allo Cine : sorties de la semaine via rss-bridge";
            
    $this->update "13/08/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $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 = new Item();
                
                
    $aTitre $element->find("h2.meta-title a"0);
                
                
    $dateContainer $element->find(".meta-body-info span"0);
                
    $list explode(" "trim($dateContainer->innertext));
                
    $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 --;
            }
        }

        public function 
    getName()
        {
            return 
    'Allo Cine : sorties de la semaine';
        }

        public function 
    getURI()
        {
            return 
    'http://www.allocine.fr/film/cettesemaine.html';
        }

        public function 
    getCacheDuration()
        {
            return 
    20200// 7 hours
        
    }
    }
    ?>
  • AllocineT5Bridge.php :
    
    <?php

    /**
     * Créé le    07/11/2013
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     */
    class AllocineT5Bridge extends BridgeAbstract
    {
        private 
    $_URL "http://www.allocine.fr/video/programme-12299/saison-29561/";
        private 
    $_NOM "Top 5";

        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Allo Cine : " $this->_NOM;
            
    $this->uri $this->_URL;
            
    $this->description "Allo Cine : " $this->_NOM " via rss-bridge";
            
    $this->update "24/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.'404);
            
            foreach (
    $html->find('figure.media-meta-fig') as $element)
            {
                
    $item = new Item();
                
                
    $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;
                }
            }
        }

        public function 
    getName()
        {
            return 
    'Allo Cine : ' $this->_NOM;
        }

        public function 
    getURI()
        {
            return 
    $this->_URL;
        }

        public function 
    getCacheDuration()
        {
            return 
    25200// 7 hours
        
    }
    }
    ?>
  • BlaguesDeMerdeBridge.php :
    
    <?php

    /**
     * Créé le    16/10/2013
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     */
    class BlaguesDeMerdeBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Blagues De Merde";
            
    $this->uri "http://www.blaguesdemerde.fr/";
            
    $this->description "Blagues De Merde via Rss-bridge";
            
    $this->update "24/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request BDM.'404);
            
            foreach (
    $html->find('article.joke_contener') as $element)
            {
                
    $item = new Item();
                
    $temp $element->find('a');
                if (isset(
    $temp[2]))
                {
                    
    $item->content trim($element->find('div.joke_text_contener'0)->innertext);
                    
    $uri $temp[2]->href;
                    
    $item->uri $uri;
                    
    $item->title substr($uri, (strrpos($uri"/") + 1));
                    
    $date $element->find("li.bdm_date"0)->innertext;
                    
    $time mktime(000substr($date32), substr($date02), substr($date64));
                    
    $item->timestamp $time;
                    
    $item->name $element->find("li.bdm_pseudo"0)->innertext;
                    
    $this->items[] = $item;
                }
            }
        }

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

        public function 
    getURI()
        {
            return 
    'http://www.blaguesdemerde.fr/';
        }

        public function 
    getCacheDuration()
        {
            return 
    7200// 2h hours
        
    }
    }
    ?>
  • DilbertBridge.php :
    
    <?php

    /**
     * Créé le    16/10/2013
     * Update    15/01/2015 le site a changé...
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     */
    class DilbertBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Dilbert Daily Strip";
            
    $this->uri "http://dilbert.com";
            
    $this->description "Dilbert Daily Strip via Rss-bridge";
            
    $this->update "24/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Dilbert.'404);
            
            foreach (
    $html->find('section.comic-item') as $element)
            {
                
    $item = new Item();
                
    $item->title $element->find("h3 span span"0)->innertext;
                
    $href $element->find('a'0)->href;
                
    $item->uri $href;
                
    $item->content $element->find("div"0)->innertext;
                
                
    // je me sert de l'url du strip car la date est en entier
                // sinon, le jour mois sont dans un span et l'année dans un autre et
                // c'est moins simple à récupérer
                
    $strDate explode("/"$href);
                
                list (
    $annee$mois$jour) = explode("-"$strDate[count($strDate) - 1]);
                
    $date mktime(000$mois$jour$annee);
                
                
    $item->timestamp $date;
                
    $this->items[] = $item;
            }
        }

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

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

        public function 
    getCacheDuration()
        {
            return 
    14400// 4 hours
        
    }
    }
    ?>
  • DragonarteBridge.php :
    
    <?php

    /**
     * Créé le    22/06/2015
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     */
    class DragonarteBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Dragonarte";
            
    $this->uri "http://dragonarte.com.br/";
            
    $this->description "Dragonarte via Rss-bridge";
            
    $this->update "24/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Dragonarte.'404);
            
            
    $table $html->find("table table table"1);
            
    $tr $table->find("tr"6);
            
            foreach (
    $tr->find('table') as $element)
            {
                
    $item = new Item();
                
                
    $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
        
    }
    }
    ?>
  • EztvBridge.php :
    
    <?php

    /**
     * Créé le    26/11/2014
     * Update    08/02/2015 : eztv.it -> eztv.ch
     *             11/10/2015 : eztv.ch -> eztv.ag
     *             24/04/2016 : mise à jour de RSS-Bridge
     */
    class EztvBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Eztv";
            
    $this->uri "https://eztv.ag/";
            
    $this->description "Eztv via Rss-bridge";
            
    $this->update "24/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request eztv.'404);
            
            
    $table $html->find('table.forum_header_border'4);
            
            foreach (
    $table->find('tr') as $element)
            {
                if (
    $element->class == "forum_space_border")
                {
                    list (
    $jour$mois$annee) = explode(", "$element->find("td b"0)->innertext3);
                    switch (
    $mois)
                    {
                        case 
    "January":
                            
    $mois 1;
                            break;
                        case 
    "February":
                            
    $mois 2;
                            break;
                        case 
    "March":
                            
    $mois 3;
                            break;
                        case 
    "April":
                            
    $mois 4;
                            break;
                        case 
    "May":
                            
    $mois 5;
                            break;
                        case 
    "June":
                            
    $mois 6;
                            break;
                        case 
    "July":
                            
    $mois 7;
                            break;
                        case 
    "August":
                            
    $mois 8;
                            break;
                        case 
    "September":
                            
    $mois 9;
                            break;
                        case 
    "October":
                            
    $mois 10;
                            break;
                        case 
    "November":
                            
    $mois 11;
                            break;
                        default:
                            
    $mois 12;
                            break;
                    }
                    
    $date mktime(000$mois$jour$annee);
                } elseif (
    $element->class == "forum_header_border")
                {
                    
    $item = new Item();
                    
    $cellTitre $element->find("td"1);
                    
    $cellLiens $element->find("td"2);
                    
    $lien $cellLiens->find("a.download_1"0)->href;
                    
                    
    $item->title $cellTitre->find("a"0)->title;
                    
    $item->uri $lien;
                    
    $item->content "<a href='" $this->getURI() . $cellTitre->find("a"0)->href "'>Détails</a>";
                    
    $item->timestamp $date;
                    
    $this->items[] = $item;
                }
            }
        }

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

        public function 
    getURI()
        {
            return 
    'https://eztv.ag/';
        }

        public function 
    getCacheDuration()
        {
            return 
    14400// 4h heures
        
    }
    }
    ?>
  • FcMetzBridge.php :
    
    <?php

    /**
     * Créé le    20/08/2015
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     */
    class FcMetzBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "FC Metz";
            
    $this->uri "http://www.fcmetz.com/actualites/news";
            
    $this->description "FC Metz via Rss-bridge";
            
    $this->update "24/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $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 = new Item();
                    
    $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;
                }
            }
        }

        public function 
    getName()
        {
            return 
    'FC Metz';
        }

        public function 
    getURI()
        {
            return 
    "http://www.fcmetz.com/actualites/news";
        }

        public function 
    getCacheDuration()
        {
            return 
    25200// 7 hours
        
    }
    }
  • 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
     */
    class FootitoBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Footito";
            
    $this->uri "http://www.footito.fr/";
            
    $this->description "Footito via Rss-bridge";
            
    $this->update "24/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Footito.'404);
            
            foreach (
    $html->find('div.post') as $element)
            {
                
    $item = new Item();
                
                
    $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->name $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;
            }
        }

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

        public function 
    getURI()
        {
            return 
    'http://www.footito.fr/';
        }

        public function 
    getCacheDuration()
        {
            return 
    3600// 1h hours
        
    }
    }
    ?>
  • 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
     */
    class LesJoiesDuCodeBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Les Joies Du Code";
            
    $this->uri "http://lesjoiesducode.fr/";
            
    $this->description "Les Joies Du Code via Rss-bridge";
            
    $this->update "24/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $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 = new Item();
                
                if (
    $pos 0)
                {
                    
    $auteur trim(substr($auteur->innertext, ($pos 4)));
                    
    $item->name $auteur;
                }
                
                
    $item->content trim($temp->innertext);
                
    $item->uri $url;
                
    $item->title trim($titre);
                
                
    $this->items[] = $item;
            }
        }

        public function 
    getName()
        {
            return 
    'Les Joies Du Code';
        }

        public function 
    getURI()
        {
            return 
    'http://lesjoiesducode.fr/';
        }

        public function 
    getCacheDuration()
        {
            return 
    7200// 2h hours
        
    }
    }
    ?>
  • LineageOsBridge.php :
    
    <?php

    /**
     * Créé le    10/04/2016
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     */
    class LineageOsBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "LineageOs";
            
    $this->uri "https://download.lineageos.org/";
            
    $this->description "LineageOs via Rss-bridge";
            
    $this->update "24/04/2016";
        }
        
        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request ' $this->getName(), 404);
            
    $cpt 1;
            foreach (
    $html->find('#slide-out>li.no-padding') as $element)
            {
                
    $titleA $element->find("a"0);
                foreach (
    $element->find('li a') as $el)
                {
                
                    
    $item = new Item();
                
                    
    $item->title $titleA->innertext " - " $el->innertext;
                    
    $item->uri "https://download.lineageos.org".$el->href;
                    
    $item->content $titleA->innertext " - " $el->innertext;
                
                    
    $this->items[] = $item;

                }
            }
        }

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

        public function 
    getURI()
        {
            return 
    'https://download.lineageos.org/';
        }

        public function 
    getCacheDuration()
        {
            return 
    12*3600// 12h heures
        
    }
    }
    ?>
  • MeDessinBridge.php :
    
    <?php

    /**
     * Créé le    16/10/2013
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     */
    class MeDessinBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "MeDessinBridge";
            
    $this->uri "http://medessin.wordpress.com/";
            
    $this->description "MeDessinBridge via Rss-bridge";
            
    $this->update "24/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Mesdessin.'404);
            
            foreach (
    $html->find('article') as $element)
            {
                
    $item = new Item();
                
                
    $temp $element->find('header h1 a'0);
                
    $item->uri $temp->href;
                
    $item->title $temp->innertext;
                
                
    $tags $element->find('h1 span'0)->innertext;
                
                
    $content $element->find('div.entry-content'0);
                
                
    $a $content->find("p a"0);
                
    $img "<p><img src='" $a->href "' width='900'></p>";
                
    $item->content $img;
                
                
    $cpt 0;
                foreach (
    $content->find("p") as $p)
                {
                    if (
    $cpt 0)
                    {
                        
    $item->content .= $p->outertext;
                    }
                    
    $cpt ++;
                }
                
                
    $item->timestamp strtotime($element->find("footer time"0)->datetime);
                
                
    $this->items[] = $item;
            }
        }

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

        public function 
    getURI()
        {
            return 
    'http://medessin.wordpress.com/';
        }

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

    /**
     * Créé le    17/10/2013
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     */
    class MmmLaBdBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Mmm La Bd";
            
    $this->uri "http://hmm-la-bd.eu/";
            
    $this->description "Mmm La Bd via Rss-bridge";
            
    $this->update "24/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $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 = new Item();
                
    $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 = new Item();
                        
    $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);
            }
        }

        public function 
    getName()
        {
            return 
    'Mmm La Bd';
        }

        public function 
    getURI()
        {
            return 
    'http://hmm-la-bd.eu/';
        }

        public function 
    getCacheDuration()
        {
            return 
    54000// 15 hours
        
    }
    }
    ?>
  • NightwishBridge.php :
    
    <?php

    /**
     * Créé le    01/04/2015
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     */
    class NightwishBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Nightwish.fr";
            
    $this->uri "http://www.nightwish.fr/website/html/index.php";
            
    $this->description "Nightwish.fr via Rss-bridge";
            
    $this->update "24/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request Nightwish.'404);
            foreach (
    $html->find('table table') as $element)
            {
                
    $item = new Item();
                
                
    $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;
                    }
                }
            }
        }

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

        public function 
    getURI()
        {
            return 
    'http://www.nightwish.fr/website/html/index.php';
        }

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

    /**
     * Créé le    27/06/2015
     * Update    06/07/2015 : correction de la derniere page si trop de page
     *             08/07/2015 : correction utf8
     *             24/04/2016 : mise à jour de RSS-Bridge
     */
    class NoLifeForumBridge extends BridgeAbstract
    {
        private 
    $request;
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "NoLife Forum";
            
    $this->uri "http://forum.nolife-tv.com/showthread.php?t=" $this->request;
            
    $this->description "NoLife Forum via Rss-bridge";
            
    $this->update "24/04/2016";

            
    $this->parameters['Nouveaux post'] =
            
    '[
                {
                    "type" : "text",
                    "identifier" : "topic",
                    "name" : "identifiant du topic",
                    "exampleValue" : "",
                    "required" : "required"
                }
            ]'
    ;
        }

        public function 
    collectData(array $param)
        {
            if (isset(
    $param['topic']))
            {
                
    $this->request $param['topic'];
            }
            else
            {
                
    $this->returnError('Vous devez spécifier un identifiant de topic.'400);
            }
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request NoLife Forum.'404);
            
    $nav $html->find("div.pagenav"0);
            
            
    $listeTD $nav->find("td");
            
            
    // je veux les derniers messages, donc je cherche la dernière page
            
    $pageMax count($listeTD) - 2;
            
    $contenuTd $listeTD[$pageMax]->find("a"0)->innertext;
            
            
    //je cherche si le td contient le mot Derniere, mais strpos me renvoie toujours false...
            //donc je test la longueur. Je sais que ça va poser un problème s'il y a plus de 9999 pages.
            
    if(strlen($contenuTd) > 4)
            {
                
    $hrefTd $listeTD[$pageMax]->find("a"0)->href;
                
    $pos strpos($hrefTd"page=");
                
    $pageMax substr($hrefTd$pos 5);
            }
            else
            {
                
    $pageMax--;
            }
            
            
    $html file_get_html($this->getURI() . '&page=' $pageMax) or $this->returnError('Could not request NoLife Les Aventures.'404);
            
            foreach (
    $html->find('div.page div div table.tborder') as $element)
            {
                
    $dateTd $element->find("td.thead");
                
                
    // je ne tiens pas compte des td de navigation
                
    if (count($dateTd) > 0)
                {
                    
    // URL
                    
    $url $this->getURI() . "&amp;page=$pageMax#" trim($dateTd[1]->find("a strong"0)->innertext);
                    
                    
    // auteur
                    
    $auteur $element->find("td.alt2 a"0)->innertext;
                    
                    
    // date
                    
    list ($date$heure) = explode(", "$dateTd[0]->innertext);
                    
    $list explode("/"$date);
                    
                    
    $annee $list[count($list) - 1];
                    
    $mois $list[count($list) - 2];
                    
    $jour trim(substr($list[count($list) - 3], 3));
                    
                    
    // gestion des dates simplifiées
                    
    if (strpos($annee"Hier") !== false)
                    {
                        
    $annee date("Y");
                        
    $mois date("m");
                        
    $jour date("d") - 1;
                    }
                    elseif (
    strpos($annee"Aujourd") !== false)
                    {
                        
    $annee date("Y");
                        
    $mois date("m");
                        
    $jour date("d");
                    }
                    
                    list (
    $heure$minute) = explode("h"$heure);
                    
                    
    // titre
                    
    $titreElement $element->find("td.alt1 strong"0);
                    
    $titre "No Life forum";
                    if (
    $titreElement != false)
                    {
                        
    $titre .= " - " $titreElement->innertext;
                    }
                    
                    
    // contenu
                    
    $contenu $element->find("td.alt1 div"1)->innertext;
                    
                    
    $item = new Item();
                    
    $item->name $auteur;
                    
    $item->timestamp mktime($heureintval($minute), 0$mois$jour$annee);
                    
    $item->content utf8_encode($contenu);
                    
    $item->title $titre;
                    
    $item->uri $url;
                    
    $this->items[] = $item;
                }
            }
        }

        public function 
    getName()
        {
            return 
    "NoLife Forum";
        }

        public function 
    getURI()
        {
            return 
    "http://forum.nolife-tv.com/showthread.php?t=" $this->request;
        }

        public function 
    getCacheDuration()
        {
            return 
    1800// 1/2 heure
        
    }
    }
    ?>
  • NoLifeForumNewTopicBridge.php :
    
    <?php

    /**
     * Créé le    06/08/2015
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     */
    class NoLifeForumNewTopicBridge extends BridgeAbstract
    {
        private 
    $request;
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "NoLife Forum new Topic";
            
    $this->uri "http://forum.nolife-tv.com/forumdisplay.php?f=41";
            
    $this->description "NoLife Forum new Topic via Rss-bridge";
            
    $this->update "24/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request NoLife Forum.'404);

            foreach (
    $html->find('#threadbits_forum_41 tr') as $element)
            {
                
    $td $element->find("td.alt1"1);
                
    $id substr($td->id15);
                
    $div1 $td->find("div"0);
                
    $countSpan count($div1->find("span"));
                
    $titre $div1->find("a"0);
                if(
    $countSpan && strpos($td->innertext"Important") == false)
                {
                    
    $titre $div1->find("a"1);
                }
                    
                
    $auteur $td->find("div.smallfont"0);

                
    $item = new Item();
                
    $item->name $auteur->innertext;
                
    $item->content nl2br($td->title);
                
    $item->title utf8_encode($titre->innertext);
                
    $item->uri "http://forum.nolife-tv.com/showthread.php?t=" $id;
                
    $this->items[] = $item;
            }
        }

        public function 
    getName()
        {
            return 
    "NoLife Forum New Topic";
        }

        public function 
    getURI()
        {
            return 
    "http://forum.nolife-tv.com/forumdisplay.php?f=41";
        }

        public function 
    getCacheDuration()
        {
            return 
    1800// 1/2 heure
        
    }
    }
    ?>
  • PapacubeBridge.php :
    
    <?php

    /**
     * Créé le    10/04/2016
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     */
    class PapacubeBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Papacube";
            
    $this->uri "";
            
    $this->description "Papacube via Rss-bridge";
            
    $this->update "24/04/2016";
        }
        
        public function 
    collectData(array $param)
        {
            
    $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 = new Item();
                
                
    $item->title $title;
                
    $item->uri $url;
                
    $item->content $content;
                
    $item->author $auteur;
                
    $item->timestamp strtotime($time);
                
                
    $this->items[] = $item;
            }
        }

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

        public function 
    getURI()
        {
            return 
    'http://www.papacube.com/';
        }

        public function 
    getCacheDuration()
        {
            return 
    14400// 4h heures
        
    }
    }
    ?>
  • ScmbBridge.php (script initial de supitalp que j'ai modifié) :
    
    <?php

    /**
     * Auteur initial    supitalp
     * Update    24/04/2016 : mise à jour de RSS-Bridge
     */
    class ScmbBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Se Coucher Moins Bête";
            
    $this->uri "http://secouchermoinsbete.fr/";
            
    $this->description "Se Coucher Moins Bête via Rss-bridge";
            
    $this->update "24/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $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 = new Item();
                
    // 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->name $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)->innertext;
                        
    $content $content '<br />' $details;
                    }
                    if (
    $hasPic && $cpt $cptMax)
                    {
                        
    $picUri $opt_html->find('div#sources-image-wrapper a'0)->href;
                        
    $item->pictureUri $picUri;
                        
    $content $content '<br /><img src="' $item->pictureUri '" />';
                    }
                    if (
    $hasVid && $cpt $cptMax)
                    {
                        
    $vidUri $opt_html->find('div#sources-video-wrapper iframe'0)->src;
                        
    $vidUri explode('?'$vidUri); // remove "?autoplay=0"
                        
    $item->vidUri $vidUri[0];
                        
    $content $content '<br /><a href="' $vidUri[0] . '">Vidéo</a>';
                    }
                    
                    
    $item->content $content;
                    
    $this->items[] = $item;
                }
            }
        }

        public function 
    getName()
        {
            return 
    'Se Coucher Moins Bête Bridge';
        }

        public function 
    getURI()
        {
            return 
    'http://secouchermoinsbete.fr/';
        }

        public function 
    getCacheDuration()
        {
            return 
    21600// 6 hours
        
    }
    }
    ?>
  • 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
     */
    class TheCodingLoveBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "The Coding Love";
            
    $this->uri "http://thecodinglove.com/";
            
    $this->description "The Coding Love via Rss-bridge";
            
    $this->update "24/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $html file_get_html($this->getURI()) or $this->returnError('Could not request The Coding Love.'404);
            
            foreach (
    $html->find('div.post') as $element)
            {
                
    $item = new Item();
                
    $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);
                
    $pos strpos($auteur->innertext"by");
                
                if (
    $pos 0)
                {
                    
    $auteur trim(str_replace("*/"""substr($auteur->innertext, ($pos 2))));
                    
    $item->name $auteur;
                }
                
                
    $item->content .= trim(str_replace(".jpg"".gif"$content));
                
    $item->uri $url;
                
    $item->title trim($titre);
                
                
    $this->items[] = $item;
            }
        }

        public function 
    getName()
        {
            return 
    'The Coding Love';
        }

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

        public function 
    getCacheDuration()
        {
            return 
    7200// 2h hours
        
    }
    }
    ?>
  • 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
     */
    class TuxboardBridge extends BridgeAbstract
    {
        public function 
    loadMetadatas()
        {
            
    $this->maintainer "Superbaillot";
            
    $this->name "Tuxboard";
            
    $this->uri "http://www.tuxboard.com";
            
    $this->description "Tuxboard via rss-bridge";
            
    $this->update "24/04/2016";
        }

        public function 
    collectData(array $param)
        {
            
    $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 = new Item();
                
                
    $item->uri $a->href;
                
    $item->title $a->innertext;
                
    $item->content trim($content);
                
                
    $this->items[] = $item;
            }
        }

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

        public function 
    getURI()
        {
            return 
    'http://www.tuxboard.com';
        }

        public function 
    getCacheDuration()
        {
            return 
    14600// 4 hours
        
    }
    }
    ?>

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.