{"id":3785,"date":"2019-09-05T17:00:06","date_gmt":"2019-09-05T15:00:06","guid":{"rendered":"https:\/\/www.unicoda.com\/?p=3785"},"modified":"2019-08-26T13:02:44","modified_gmt":"2019-08-26T11:02:44","slug":"rsshub","status":"publish","type":"post","link":"https:\/\/www.unicoda.com\/?p=3785","title":{"rendered":"RSSHub"},"content":{"rendered":"\n<p>Ayant test\u00e9 un moment la plateforme Instagram et souhaitant \u00eatre en mesure de suivre les publications d&rsquo;une s\u00e9lection de comptes publiques directement dans mes flux RSS, je me suis tourn\u00e9, apr\u00e8s quelques recherches, vers une solution open source plus que prometteuse, \u00e0 savoir <a rel=\"noreferrer noopener\" aria-label=\"RSSHub (s\u2019ouvre dans un nouvel onglet)\" href=\"https:\/\/github.com\/DIYgod\/RSSHub\" target=\"_blank\">RSSHub<\/a>.<\/p>\n\n\n\n<p>On peut constater rapidement en parcourant le github du projet que les principaux contributeurs sont d&rsquo;origines asiatiques, comme l&rsquo;attestent les caract\u00e8res. Cela ne nuit en rien au projet, puisque la documentation en langue de Shakespeare est plut\u00f4t compl\u00e8te, si ce n&rsquo;est pour la lecture des commentaires pr\u00e9sents dans le code, ou des issues sur Github.<\/p>\n\n\n\n<p>J&rsquo;ai donc fait le choix de tester cette solution, et pour une fois, plut\u00f4t que de l&rsquo;h\u00e9berger sur l&rsquo;une de mes machines, j&rsquo;ai choisi de suivre la solution GCP d\u00e9crite dans la documentation du projet. Le but \u00e9tant de savoir si mon utilisation reste dans le palier gratuit fournit par Google pour l&rsquo;utilisation d&rsquo;un App Engine, et surtout, de pouvoir tester facilement l&rsquo;int\u00e9gration avec FreshRSS. Enfin dernier point, cela me permet de ne pas me poser la question de l&rsquo;h\u00e9bergement d&rsquo;une solution NodeJS, qui n\u00e9cessiterait un peu de travail de configuration pour arriver \u00e0 une situation satisfaisante dans mon infrastructure auto-h\u00e9berg\u00e9e.<\/p>\n\n\n\n<p>Commen\u00e7ons par quelques notes concernant la gestion de profils au niveau de l&rsquo;utilitaire gcloud. En premier lieu, cr\u00e9ation d&rsquo;un profil rsshub.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">gcloud config configurations create rsshub<\/pre>\n\n\n\n<p>Voir le d\u00e9tail de la configuration active.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">gcloud config list<\/pre>\n\n\n\n<p>Lister toutes les configurations de comptes disponibles.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">gcloud config configurations list<\/pre>\n\n\n\n<p>Et enfin, activer la configuration rsshub.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">gcloud config configurations activate rsshub<\/pre>\n\n\n\n<p>Passons ensuite \u00e0 la pr\u00e9paration du d\u00e9ploiement de l&rsquo;application. Pour cela, je cr\u00e9\u00e9 un fichier app.yaml \u00e0 la racine du projet afin de d\u00e9crire la fa\u00e7on de d\u00e9ployer le programme sur la GCP et le configurer.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># [START app_yaml]\nruntime: nodejs10\nbasic_scaling:\n   max_instances: 1\nnetwork:\n   forwarded_ports:\n       - 80:1200\n       - 443:1200\n# environment variables section, refer to Settings\nenv_variables:\n   CACHE_EXPIRE: '300'\n   HTTP_BASIC_AUTH_NAME: '&lt;username&gt;'\n   HTTP_BASIC_AUTH_PASS: '&lt;password&gt;'\n#[END app_yaml]<\/pre>\n\n\n\n<p>Pour terminer, d\u00e9ploiement de l&rsquo;application dans App Engine.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">gcloud app deploy<\/pre>\n\n\n\n<p>\u00c0 ce stade, je dispose donc d&rsquo;un RSSHub agissant comme proxy entre mon lecteur de flux RSS et Instagram. Celui-ci est h\u00e9berg\u00e9 sur le cloud Google et la faible utilisation ne semble pas d\u00e9passer les paliers gratuits, ce qui n&rsquo;est pas plus mal. RSSHub permet \u00e9galement de g\u00e9n\u00e9rer des RSS pour des comptes Twitter ou encore, pour des r\u00e9sultats de recherche leboncoin; la liste est plut\u00f4t bien fournie et semble aller en augmentant.<\/p>\n\n\n\n<p>RSSHub est donc un programme que je trouve particuli\u00e8rement int\u00e9ressant pour ne plus d\u00e9pendre d&rsquo;un compte ou d&rsquo;une application t\u00e9l\u00e9phone pour consommer du contenu. C&rsquo;est un v\u00e9ritable gain sur bien des aspects, pour Instagram en tout cas, je note: pas de publicit\u00e9 dans le flux (sauf contenu sponsoris\u00e9 d&rsquo;un compte), possibilit\u00e9 de supprimer l&rsquo;application, donc pas de tentation de l&rsquo;utiliser pour passer le temps ou en cas d&rsquo;ennui, pas de pistage (ou en tout cas, moins ais\u00e9). Au final, retour \u00e0 un syst\u00e8me qui me convient et que je ma\u00eetrise, o\u00f9 l&rsquo;information arrive quand je l&rsquo;ai d\u00e9cid\u00e9 et sans essayer de me rendre accro.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ayant test\u00e9 un moment la plateforme Instagram et souhaitant \u00eatre en mesure de suivre les publications d&rsquo;une s\u00e9lection de comptes publiques directement dans mes flux RSS, je me suis tourn\u00e9, apr\u00e8s quelques recherches, vers une solution open source plus que prometteuse, \u00e0 savoir RSSHub. On peut constater rapidement en parcourant le github du projet que &hellip; <a href=\"https:\/\/www.unicoda.com\/?p=3785\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;RSSHub&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[446,31],"tags":[448,209,447],"class_list":["post-3785","post","type-post","status-publish","format-standard","hentry","category-gcp","category-installation","tag-instagram","tag-rss","tag-rsshub"],"_links":{"self":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/3785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3785"}],"version-history":[{"count":4,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/3785\/revisions"}],"predecessor-version":[{"id":3794,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/3785\/revisions\/3794"}],"wp:attachment":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3785"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3785"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}