TTYtter, Twitter en console

Bonjour à toi.

Ce billet est  un complément, à celui de Nic0 que je te conseille fortement de lire ici avant de continuer.

Le truc un peu énervant avec Twitter c’est qu’il faut un client efficace, facile d’utilisation, et surtout pas très lourd, et c’est pas facile à trouver quand on veut ces 3 paramètres.

Personnellement j’ai toujours eu au moins un de ces défauts sur les différents clients testés. Mais cela ne reflète que mon utilisation personnelle et non la qualité des-dits clients sur d’autres machines. Il est fort possible que tes expériences soient différentes.


Petite rétrospective des clients que j’ai testé:

En premier les clients adobe-air (tweetdeck/seesmic…) c’est joli (selon les goûts), mais c’est lourd je trouve, j’ai des pics cpu régulièrement ou pire encore une appli qui tombe en rade… la faute à adobe-air et mon système 64bits je suppose, vu la galère à l’installation…  Et puis ça fait mettre du non libre sur la machine, je suis pas extrémiste mais si ça marche mal dès le début, et qu’en plus c’est pas libre je vois pas l’intérêt de me creuser la tête à le faire fonctionner. Bref adobe-air à la poubelle.

Ensuite j’ai testé Gwibber, j’y suis même resté un moment! il a tout les atouts des clients adobe-air, (suivi de tags, de personnes, informations mais seulement dans la même fenêtre), il gère Twitter ET Identi.ca, il évolue doucement mais surement et c’est de l’open-source. Un gros point noir pour Gwibber, plantage sur plantage, sur plantage… je m’absente 5 minutes, je reviens il est fermé… régulièrement il m’indique que Twitter est en panne, alors que le site fonctionne. Et pire! il oublie la moitié de ma TimeLine la plus part du temps! si si je te jure! La TimeLine de ma page Twitter n’est jamais la même que celle de Gwibber… un Tweet sur deux/trois n’est pas ramené sur Gwibber… va comprendre Charles… Gwibber à la poubelle, un peu à contre-coeur.

Pino

Puis est arrivé Pino! le très prometteur Pino! Je le trouve vraiment bien fait, il est léger, simple, gère Twitter ET Identi.ca. Mais son point noir c’est l’impossibilité de suivre un sujet précis!
Je ne me sert pas de twitter pour être à l’affut de la super news du jour, j’utilise surtout ce réseau pour me tenir informé d’un sujet, et en discuter avec d’autres utilisateurs. Par exemple j’ai toujours une TimeLine ouverte sur #freebox et #archlinux, deux sujets qui m’intéressent et où je peux de temps en temps apporter de l’aide ou inversement.
Donc Pino oui! mais seulement pour ceux qui n’ont besoin que de leur TimeLine principale!
Le développement étant encore un peu jeune j’ose espérer que cela évoluera. Pour les gens qui préfèrent l’interface graphique je ne saurais trop vous le conseiller!

Puis Nic0 m’a apporté une autre solution, TTYtter. Complet, efficace, pas lourd du tout, mais compliqué si on aime pas lire un mode d’emploi… Enfin compliqué essentiellement au paramètrage! Parce que une fois le tout préparé pour un usage quotidien, il suffit d’un script pour le lancer et ouvrir toutes les TimeLines que tu veux en un clique. C’est ce que je vais essayer de t’expliquer.

TTYtter c’est donc un client Twitter en console. A première vue c’est un truc complètement ésotérique. Son principale défaut! Mais chaud bouillant que je suis, fallait que je test.

En suivant le billet de Nic0 j’ai commencé à configurer TTYtter. (j’ai volontairement zappé le passage sur l’avatar en AsciiArt, j’ai pas trop pigé et en fait je m’en fou un peu des images :p).

Première étape l’installation, sur Arch pas trop dur:
yaourt ttytter
on le trouve dans la liste et on installe. Sur les autres distributions, je sais pas si c’est sur les dépôts mais si t’es là je penses que tu seras capable de trouver par toi même.
Deuxième étape la création du fichier ~/.ttytterrc pour mettre dedans les paramètres de base de TTYtter. Tout ce qui sera mis dans ce fichier donnera donc les options classiques au programme pour se lancer. Mais toutes autres options insérées dans une ligne de commande pour lancer TTYtter remplaceront celles contenues dans le fichier ~/.ttytterrc.

Voici le contenu de mon .ttytterrc, qui donne les paramètres de base, et qui fait ouvrir TTYtter sur ma TimeLine (et pour le moment DM & mentions aussi):

#Pseudo et mot de passe twitter
user=Logive:*******
#Temps de pause entre deux mises à jours

pause=auto
#vérification de version

vcheck=1
#pour utiliser les couleurs du terminal

ansi=1
#au cas où twitter se montre récalcitrant avec la connexion ttytter retentera de se connecter.

hold=15
#/n et /r converti en nouvelle ligne

newline=1
#donne 7 secondes a l'utilisateur pour annuler son tweet à l'aide d'un Ctrl+c

slowpost=7
#active tab completion, et cursor-keys history (comme dans un terminal classique)

readline=1

En lançant « ttytter » dans une console, j’obtiens donc ma TimeLine. Je peux déjà répondre, faire des RT, remonter dans la TimeLine aussi loin que la console me le permet (sauf au démarrage, par défaut j’ai laissé ttytter récupérer les 20 derniers tweets.).

Peaufinons un peu…

Le terminal gnome offre la possibilité de créer des profils pour utilisateurs ou pour des cas particuliers. J’ai donc créé un profil TTYtter, que j’ai règle ainsi: texte en gras activé, pas de barre de défilement, pas de menu, pas de bips, titre de la fenêtre: TTyter, conserver le terminal ouvert, et en ce qui concerne les couleurs de base à toi de voir… Ce qui me donne une TimeLine qui ressemble à ça:

Chaque tweet est numéroté de la sorte a1/a2/a3…. ce qui permet de faire un simple:

/re a2 blablabla pour répondre au tweet a2.

TTytter permet de séparer les tweets que l’on souhaite en fonction de leur source. Avec les options inscrites au fichier ~/.ttytterrc, lorsque j’ouvre TTytter j’obtiens ma TL et mes DM et autres replys dans la même fenêtre. Chose que je ne souhaite pas.
Je vois les choses comme ça:
-Ma fenêtre principale de TTytter ne doit afficher que ma TimeLine.
-Une seconde fenêtre devra m’afficher les Replys ainsi que mes DM.
-Et enfin d’autres fenêtres devront afficher les sujets que je souhaite suivre de près (au moins: #freebox, #archlinux, @normandeliere et @lavigie85 (deux sujets qui concernent ma commune))

C’est là que ça devient intéressant. Le but maintenant c’est de séparer le tout, pour paramétrer chaque fenêtre.
Dans le joli manuel (en anglais) de TTYtter on peut apprendre pleins de choses, notamment les options dont j’ai besoin:
-dmpause=0  #ne fait aucune mise à jour des DM
-track=*** #fait une recherche sur un mot précis
-notimeline  #enlève la TimeLine principale
-pause=xx #temps d’actualisation en secdes.

Avec ces quatre options on peut déjà bien s’amuser.
Revenons à la TimeLine de base, qu’on lance d’un simple « ttytter » dans le terminal.
Si on souhaite enlever les DM de cette TimeLine il suffit alors d’entrer :
ttytter -dmpause=0

Et inversement si on ne souhaite que les DMs alors:
ttytter -notimeline

Et si on veut faire une recherche sur un mot précis sans timeline, sans DMs:
ttytter -track=archlinux -notimeline -dmpause=0 -pause=300
J’ai mis une actualisation à 300 secondes pour les mots clés.

Tu l’auras compris le plus embêtant c’est de devoir écrire ça à chaque fois que tu veux utiliser TTYtter…

J’ai beau être un peu N00b sur les bords j’ai réussi à me débrouiller en créant un script qui m’ouvre toute les fenêtres TTYtter que je souhaite.
C’est un script on ne peut plus classique, auquel j’ordonne d’ouvrir un terminal en profil TTytter avec une commande particulière.

Pour la TimeLine classique la ligne du script ressemble à ça:
gnome-terminal --title=Timeline --profile=TTytter --command "ttytter -dmpause=0"

Pour une recherche d’un tag, ça donne:

gnome-terminal --title=#archlinux --profile=TTytter --command "ttytter -track=archlinux -notimeline -dmpause=0"

Une fois le script rempli de toutes les lignes (donc toutes les fenêtres) que tu as besoin, il n’y a plus qu’a le rendre exécutable et le caler dans le tableau de bord. un clique et c’est partit!

Voilà à quoi ressemble mon script de démarrage.

Il suffit de remplacer les termes par ceux qui conviennent. Rien de bien compliqué. Attention je garanti pas que ce soit la méthode idéale, je l’ai faite un peu à la volée avec mes quelques connaissances de n00b.

TTYtter offre encore d’autres possibilités, comme la gestion des comptes Identi.ca avec l’option « -apibase », je me dois de mettre ça en place, ça viendra. TTytter accepte aussi les extensions, comme celle-ci qui permet de gérer les groupes. Mais à vrai dire je n’ai pas encore réussi à le faire fonctionner entièrement. Sujet d’un autre post peut être…
Si tu préfères avoir seulement une fenêtre pour tout, (hashtags, DM,..) il te suffit de mettre toutes les options directement dans le fichier ~/.ttytterrc (sans le tiret devant les options cf. mon fichier plus haut)

Pour l’utilisation de base de TTyter c’est plutôt simple, il suffit d’entrer son tweet dans n’importe quel fenêtre TTyter ouverte. Les réponses et ReTweet se font par le biais d’un /re,ou /rt suivi du numéro de la ligne concerné. TTYtter compte bien évidemment le nombre de caractère et peu te proposer de tronquer automatiquement le message de façon intelligente. Mais si t’as bien lu le billet de Nic0 t’es déjà au courant de l’utilisation de base de TTYtter! ;)

TTYtter chez moi:   comment ça ça pique les yeux?

Alors bilan? Quoi de mieux? quoi de pire?
Le mieux:  la TimeLine toujours actualisée correctement, pouvoir suivre des sujets multiples sans avoir à jongler entre des fenêtres, elles sont toutes ouvertes! Réactif! faire une réponse avec un simple /re c4 blabla, c’est vraiment simple et clair, le /RT aussi d’ailleurs.  La coloration des tweets est très pratique et on s’y retrouve vite.

Le moins: bah c’est de la console, les bling-bling vont pas apprécier…

Pour moi c’est adopté. Pour le moment. Aucun autre programme ne me donne autant de tranquillité.  C’est ouvert toute la journée, en rentrant du boulot je peux remonter la TimeLine sans limite (tout dépend de la config du terminal). Et avec un peu de paramétrage dans compiz, mes fenêtres TTYtter s’ouvrent automatiquement sur un bureau spécifique, à un emplacement bien précis.

Juste une chose que je maîtrise pas c’est l’histoire des API, je me demande si le fait d’ouvrir des tonnes de fenêtres peut à un moment me bloquer en limite (150 request/heure je crois). Pour le moment pas eu ce problème avec 6 TTYtter ouvert… et 6 c’est déjà bien^^ j’ai pas forcément besoin de plus.

A toi de jouer maintenant si ça t’intéresse. J’espère avoir éveillé ta curiosité! ;)

Prochaine étape pour moi créer un script avec Zenity. Celui ci devra proposer une fenêtre pour entrer un mot clé à rechercher et ouvrir un TTYtter directement sur ce mot clé. Toute aide est la bienvenue!

Et spécial #FF  @nic0sphere

4 Comments to “TTYtter, Twitter en console”

  1. By Nic0, 10 avril 2010 @ 11 h 58 min

    Salut,

    Tout d’abord, félicitation pour le billet que je trouve être vraiment de qualité, et merci pour les quelques liens que tu fait sur mon blog.

    Comme je disais, je découvre un peu twitter, ça ne fait pas si longtemps que je m’y suis mis, je n’ai pas encore le recule pour maitriser toute les subtilités que tu expliques ici. Mais je dois dire que d’une part, ça montre bien les possibilités qu’offres twitter pour suivre des sujets voulu, et également la puissance du scripts TTYtter à gérer toute ces subtilités.

    J’ai rajouté le lien directement dans mon billet sur ici pour que les lecteurs puisse profiter du travail que tu as fait, et je dois dire que je vais sûrement relire ce que tu as fait pour l’adapter à mes propres besoins, car pour le moment même si j’en ai une utilisation relativement basique de twitter et TTYtter, je pense vouloir aller plus loin également.

    Merci et bonne continuation.

  2. By Logive, 10 avril 2010 @ 12 h 53 min

    Salut!
    Merci pour ce commentaire fort appréciable!
    Merci aussi pour le trackback dans ton billet. Bonne chance pour l’adaptation des mes conseils à tes besoins.

    Au plaisir de te relire dans ton prochain billet!

    A bientôt Logive.

  3. By erdnaxeli, 26 septembre 2010 @ 11 h 09 min

    TTYtter est assez sympa, par contre une interface en ncurse aurait été sympa. Avoir un message qui arrive alors qu’on est en train d’en taper un, ce n’est pas ce qu’il y a de plus ergonomique.

    Sinon, pino3 support maintenant les recherches. Ce n’est qu’une version pre-alpha, mais c’est déjà presque utilisable, et très prometteur.

  4. By Logive, 26 septembre 2010 @ 16 h 48 min

    @erdnaxeli le problème que tu mentionnes sur TTYtter est certes un peu gênant mais tu peux ouvrir un autre terminal, sans aucune timeLine, un terminal simplement pour envoyer ton message. Mais tout dépend de la façon dont tu utilises TTYtter. Moi j’ai une fenêtre terminal pour chaque recherche ou différentes Timeline.
    Merci pour l’info sur Pino j’étais pas au courant. Je vais jeter un oeil ce soir.