Déploiement pas à pas d'une instance Tweem grâce à GitHub et Heroku

in #tutoriel6 years ago (edited)

header2.png
Cliquez ici pour être redirigé vers la page GitHub de Tweem.

Ce tutoriel a pour but de vous guider pas à pas dans le déploiement et la configuration de votre propre instance Tweem grâce à GitHub et aux services proposés gratuitement par Heroku. Bien que tout soit gratuit, une carte de crédit vous sera tout de même nécessaire pour vérifier votre compte Heroku. Pour en savoir plus sur ce qu'est Tweem, rendez-vous sur sa page SteemProjects. Aucune connaissance en programmation n'est requise pour suivre les étapes proposées dans ce guide, tout est expliqué dans les moindres détails. Si vous souhaitez déployer votre propre instance de Tweem autrement qu'avec Heroku, faites bien attention à ne pas rendre les clés de votre compte Twitter accessibles à tous. Compte tenu de la nature des posts Steem, ce guide est disponible en français et en anglais sur l'onglet Wiki de la page GitHub de Tweem et sera modifié si nécessaire. Rendez-vous donc plutôt sur cette page si vous lisez ce tutoriel plusieurs mois après sa sortie.

1) Faire une copie de Tweem avec GitHub

  1. Créez-vous un compte GitHub.
  2. Rendez-vous à l'adresse https://github.com/RagePeanut/Tweem.
  3. Cliquez sur le bouton Fork se trouvant en haut à droite de la page.
  4. Patientez quelques secondes, vous devriez être redirigé au bout d'un moment vers une page presque identique à celle sur laquelle vous vous trouviez auparavant. Cette page correspond à votre fork (votre copie) de Tweem, pour y accéder à tout moment rendez-vous à l'adresse https://github.com/Pseudo/Tweem.
  5. Tweem est par défaut configuré avec les valeurs qui me vont le plus, tous les paramètres disponibles sont expliqués sur la page GitHub de Tweem sous la section Configuration. Certains paramètres doivent être cependant modifiés, c'est pourquoi nous allons nous assurer que vous le fassiez. Cliquez sur config.json dans la liste de fichiers affichés sur la page de votre fork de Tweem.
  6. Cliquez sur le bouton (en bleu sur la capture ci-dessous).
  7. Faites défiler le fichier jusqu'à atteindre les paramètres steem_accounts et twitter_handle qui sont ceux nous intéressant.
  8. Dans steem_accounts, remplacez les valeurs de la sorte (les guillemets sont obligatoires). Dans cet exemple, deux utilisateurs (pseudo1 et pseudo2) verront leurs posts tweetés par votre compte. Lorsque plus d'un utilisateur se trouve dans posts ou resteems, vous devez mettre une virgule après chaque utilisateur sauf le dernier, c'est ce qui a été fait dans ce cas-ci. Dans cet exemple toujours, seul pseudo1 verra ses resteems tweetés par votre compte. Étant donné qu'il est seul dans resteems, aucune virgule n'est nécessaire.
  9. Dans twitter_handle, remplacez "RagePeanut_" par votre pseudo Twitter sans arobase. Par exemple, si votre pseudo est @PseudoSansArobase, écrivez le de la sorte.
  10. Cliquez sur le bouton Commit changes en bas de page. À chaque modification que vous ferez à ce fichier, vous devrez cliquer sur ce bouton pour confirmer vos modifications.

2) Créer une application sur Twitter

  1. Rendez-vous à l'adresse https://apps.twitter.com/ et connectez-vous avec votre compte personnel si vous n'êtes pas connecté.
  2. Cliquez sur le bouton Create New App. Vous devriez être redirigé vers une page vous demandant de créer une application, si ce n'est pas le cas rendez-vous à l'adresse https://apps.twitter.com/app/new.
  3. Remplissez les champs obligatoires et cochez la case en bas de formulaire pour indiquer que vous avez lu et êtes en accord avec le document "Accord et Politique développeurs". Le champ Name doit être unique, je vous conseille donc de le remplir avec "Tweem/Pseudo". Vous pouvez mettre ce que vous voulez dans le champ Website tant qu'il s'agit d'un lien.
  4. Cliquez sur le bouton Create your Twitter application, vous devriez être redirigé sur la page de l'application que vous venez de créer.
  5. Rendez-vous sur l'onglet Permissions et assurez-vous que le case Read and Write est cochée. Si ce n'est pas le cas, cochez-la et cliquez sur le bouton Update Settings.
  6. Rendez-vous sur l'onglet Keys and Access Tokens.
  7. Sous la section Application Settings, vous devriez voir deux clés: Consumer Key et Consumer Secret. Ces clés seront nécessaires plus tard, gardez-les en lieu sûr.
  8. Sous la section Your Access Token, cliquez sur le bouton Create my access token visible dans la sous-section Token Actions. La page devrait se rafraîchir.
  9. Une fois la page chargée, retournez à la section Your Access Token. De nouvelles informations devraient s'y trouver, si ce n'est pas le cas attendez quelques minutes et rafraîchissez la page. Les clés Access Token et Access Token Secret nous servirons plus tard, gardez-les en lieu sûr.

3) Déployer Tweem sur Heroku

  1. Créez-vous un compte Heroku et rendez-vous à l'adresse https://dashboard.heroku.com/apps. Vous devriez arriver sur cette page, cliquez sur le bouton Create New App.
  2. Vous devriez être à présent sur la page ci-dessous. Remplissez le champ App name par un nom unique ne pouvant contenir que des lettres minuscules, des chiffres et des tirets, le premier caractère doit être une lettre minuscule. Je vous conseille de remplir ce champ avec "tweem-pseudo". Le champ Choose a region n'a pas d'importance dans notre cas. Cliquez sur Create app.
  3. Une fois redirigé vers la page ci-dessous, il est temps de spécifier où se trouve votre application. Afin de ne pas trop vous prendre la tête, connectez votre compte GitHub à Heroku en cliquant sur le bouton Connect to GitHub disponible sous la section Deployment method.
  4. Une nouvelle section devrait apparaître appelée Connect to GitHub. Cliquez sur le bouton Connect to GitHub s'y trouvant, un pop-up devrait s'ouvrir. Soit vous serez connecté automatiquement, soit il vous sera demandé d'autoriser Heroku.
  5. Une fois votre compte GitHub connecté, la section Connect to GitHub devrait être différente. Cliquez sur Search, remplir le champ repo-name n'est pas nécessaire.
  6. Au bout de quelques secondes, votre fork de Tweem devrait apparaître sous les divers champs de la section Connect to GitHub. Cliquez sur le bouton Connect se trouvant à sa droite.
  7. Vous devriez voir des informations similaires à celles de la capture d'écran ci-dessous. Assurez-vous que la section App connected to GitHub ressemble à celle affichée ci-dessous puis cliquez sur le bouton Enable Automatic Deploys de la section Automatic deploys.
  8. Rendez-vous sur l'onglet Settings et cliquez sur le bouton Reveal Config Vars de la section Config Vars.
  9. Deux champs devraient s'afficher: KEY et VALUE. Remplissez le premier champ par "CONSUMER_KEY" et le deuxième champ par la clé correspondante obtenue lors de la création de l'application sur Twitter. Cliquez ensuite sur le bouton Add. Répétez le processus pour les trois autres clés obtenues, vous devriez vous retrouver avec ce résultat une fois fini. Il est nécessaire d'écrire les valeurs des champs KEY exactement de la même manière que celle affichée dans la capture d'écran ci-dessous. Vérifiez aussi qu'aucun espace ne se glisse lorsque vous copiez les différentes clés dans les champs VALUE.
  10. Retournez sur l'onglet Deploy et cliquez sur le bouton Deploy Branch de la section Manual deploy.
  11. Patientez jusqu'à ce que la section Deploy Branch ressemble à ça.
  12. Rendez-vous sur l'onglet Resources et vérifiez que le slider à droite de worker node app.js est activé (rond sur la droite). Si ce n'est pas le cas, cliquez sur le bouton à sa droite, cliquez ensuite sur le slider puis sur le bouton Confirm. Si le slider à droite de web npm start est activé, désactivez le de la même façon.
  13. Heroku offre 550 heures d'hébergement gratuit par mois aux comptes non vérifiés, ce qui équivaut à un peu moins de 23 jours, ce n'est donc pas assez. Afin de bénéficier de 450 heures gratuites supplémentaires par mois (et donc avoir plus de 31 jours gratuits par mois), il vous faut vérifier votre compte Heroku en y enregistrant votre carte de crédit. Pour cela, rendez-vous à l'adresse https://dashboard.heroku.com/account/billing et enregistrez-y votre carte de crédit. Vous n'aurez jamais à payer étant donné que 1000 heures d'hébergement par mois correspondent à 41 jours gratuits par mois, soit bien assez étant donné que vous n'hébergez qu'une application.

Après avoir réalisé toutes ces étapes, votre bot est fin prêt à tweeter tous les resteems et posts venant des personnes que vous lui avez indiquées ! Vous pouvez configurer le bot à tout moment, le déploiement automatique activé à une des étapes de ce guide s'occupera du reste. Si un problème persiste et que vous ne savez pas comment le régler, vous pouvez me contacter à l'une des adresses de contact affichées dans le bas de la page GitHub de Tweem.

Footer

Si vous avez aimé ce post et souhaitez en voir davantage, n'oubliez pas d'upvote, de me follow et de me resteem !

Sort:  

Superbe tuto ! Merci pour ton travail !

@ragepeanut You have earned a random upvote from @botreporter because this post did not use any bidbots.

Y a un petit bug ou je n'ai pas capté un truc.
Voici le config.json qui est déployé sur mon instance.
https://github.com/evildido/Tweem/blob/master/config.json

En cherchant à resteem https://busy.org/@kingswisdom/steem-messenger-v0-0-4-lara-triple-dose-algorithm-and-many-more, j'obtiens le message suivant dans la console

A tweet with the same link has already been sent.

Le message explique bien ce qu'il se passe je pense :P

Afin d'éviter que le même post soit partagé plusieurs fois sur un même compte Twitter, Tweem vérifie si le lien a déjà été partagé sur ce compte. Ce qui est le cas comme tu peux le voir sur ton tweet du 7 mai qui provient du resteem avec ton compte @evildido ! Du coup, quand tu as resteemé avec @evildido-blog, le lien ayant déjà été partagé Tweem n'a pas tweeté (d'où le message te l'indiquant).

J'ajouterai dans les paramètres la possibilité de ne pas faire cette vérification plus tard mais ce qu'il s'est passé avec ton resteem est le comportement voulu !

Oui mais du coup, "check_for_duplicate" ne semble pas trop explicite.

"check_for_duplicate" se trouve dans l'objet "tags" et vérifie que les tags ne sont pas les mêmes (parce que c'est possible avec certaines apps) afin de gagner en nombre de caractères en supprimant les tags dupliqués. Comme il est dans l'objet "tags", il n'a rien à voir avec cette vérification du lien. Si les tags sont "#steem #tweem #steem #steemit", ils deviendront "#steem #tweem #steemit".

Mais tu as raison, je le renommerai "check_for_duplicate_tags" pendant mon temps libre.

busy me casse les pieds en m'affichant la photo de profil de l'utilisateur.
Du coup, j'ai positionné busy et steemkr à 1.

Pareil, j'ai mis Busy à 1 par défaut hier en attendant qu'ils règlent leurs problèmes. Utopian est aussi à 1 étant donné que leur interface ne sera pas disponible pendant pas mal de temps. Le reste est toujours à 2.

Coin Marketplace

STEEM 0.32
TRX 0.12
JST 0.033
BTC 64647.16
ETH 3160.49
USDT 1.00
SBD 4.13