Présentation
Si vous avez toujours voulu avoir un robot personnel, vous lisez un article correct. Ce tutoriel est une brève démonstration de la facilité avec laquelle vous pouvez configurer votre robot personnel ou d'entreprise, puis peu de temps après, connectez-le avec l'un des adaptateurs disponibles tels que :shell, feu de camp, hipchat, irc, gtalk ou skype. Dans ce tutoriel, je vais vous apprendre à configurer Hubot avec son adaptateur Shell par défaut. Bien que ce soit l'option la plus simple, c'est la base solide pour vos futures modifications.
Correctement configuré et connecté, Hubot peut considérablement améliorer et réduire l'efficacité des employés tout en donnant beaucoup de plaisir à votre entreprise. De plus, il peut fournir à votre équipe les derniers flux rss ou envoyer des notifications cruciales. Gardez à l'esprit que Hubot est développé par l'équipe Github, c'est donc le prochain pro pour passer du temps sur les enquêtes.
Alors c'est quoi Hubot ?
Hubot est open source, écrit en CoffeeScript sur Node.js. Il peut être facilement déployé sur des plateformes PaaS comme Heroku. Hubot est préinstallé avec plusieurs scripts de base comme math, ping, help, translate ou youtube.
De plus, vous pouvez visiter le référentiel de la communauté qui fournit des tonnes d'autres scripts intéressants (par exemple :ascii, coin, deploy, dice ou jenkins). Si cette liste ne répond toujours pas à vos attentes, n'hésitez pas à écrire votre propre script en utilisant CoffeScript.
Pour commencer, je voulais présenter quelques exemples qui, je l'espère, apporteront un peu de lumière sur ce sujet.
Hubot> hubot convert me 56MB KB Hubot> 57 344 kilobytes Hubot> hubot mustache me linuxconfig.org Hubot> http://mustachify.me/2?src=http://img1.tuicool.com/aqi6r52.jpg#.png Hubot> hubot translate me praktyczne Hubot> "praktyczne" is Polish for " Practical " Hubot> hubot image me niagara falls Hubot> http://www.niagarafallslive.com/images/HorseshoefromSkylon.jpg#.png Hubot> hubot convert me 5 years days Hubot> 1 826.21099 days Hubot> hubot math me 2(3+7)/4 Hubot> 5 Hubot> hubot die Hubot> Goodbye, cruel world.
La capture d'écran ci-dessous illustre les commandes Hubot de base :
Une configuration plus avancée est présentée sur l'image ci-dessous qui montre la situation où Hubot a été configuré avec l'adaptateur Hipchat (chat de groupe privé et messagerie instantanée) et je suis au milieu d'une conversation privée avec Bolo Bot.
Configuration d'Ubuntu pour Hubot
Avant de vous donner des instructions détaillées sur la configuration d'Ubuntu pour Hubot, créons la liste des prérequis :
- Environnement node.js
- gestionnaire de paquets de nœuds
- Commandes git, coffee et cake
Installer Ubuntu
Installez Ubuntu Desktop 32 bits 12.04 LTS.
Mettre à jour les référentiels
Tout d'abord, une fois l'installation d'Ubuntu terminée, mettez à jour tous vos référentiels pour les derniers packages :
$ sudo apt-get update
Installer les prérequis
Assurez-vous ensuite que vous disposez du package build-essential.
$ sudo apt-get install build-essential
Installer Node.js
Il est grand temps d'installer l'environnement Nodejs, je suggère donc de choisir la dernière version stable pour Ubuntu. Vérifiez d'abord votre situation actuelle :
$ sudo apt-cache show nodejs | grep Version
Vous verrez probablement 0.6.12~dfsgq-1ubuntu1, qui est plutôt ancien. Il serait préférable d'utiliser une version plus récente, alors ajoutez un dépôt privé en faisant :
$ sudo add-apt-repository -m ppa:chris-lea/node.js
Si vous n'avez pas la commande add-apt-repository, veuillez faire :
$ sudo apt-get install python-software-properties
Si vous voyez /etc/apt/sources.list.d/chris-lea-node_js-precise.list fichier, cela signifie que vous l'avez ajouté correctement. Ensuite, mettez à jour à nouveau tous vos référentiels et téléchargez tout depuis chris-lea archives de paquets personnels avec :
$ sudo apt-get update
À partir de maintenant, vous êtes prêt à installer la version la plus récente de Nodejs pour Ubuntu avec la simple commande :
$ sudo apt-get install nodejs
Vérifiez sa version en exécutant :
$ node -v
puis essayez de créer un script simple qui configure le serveur http pour prouver vos actions précédentes.
cat > ~/server.js <<EOF
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337');
EOF
Ensuite, après avoir exécuté node ~/server.js, visitez votre navigateur préféré et saisissez l'URL suivante :http://127.0.0.1:1337 . Vous devriez repérer Hello World texte, qui indique que vous avez correctement installé Nodejs.
Vous devrez également installer le gestionnaire de packages de nœuds pour une gestion facile de tous les modules de nodejs.
$ sudo apt-get install npm
À partir de maintenant, vous devriez pouvoir exécuter :
$ npm -v
Installation d'Hubot
Avant d'installer Hubot, vous aurez besoin de git , le système de gestion de code source distribué. Faites simplement la commande :
$ sudo apt-get install git-core
et vous êtes prêt à cloner tous les référentiels publics hébergés par Github. Ceux-ci et bien d'autres.
Il est grand temps d'installer le robot Hubot, alors faisons-le ! Installez tous les packages nécessaires en faisant :
$ sudo apt-get install libssl-dev redis-server libexpat1-dev
Avec l'utilisation du gestionnaire de packages de nœuds, vous devrez également installer globalement des terminaux de café et de gâteaux.
$ sudo npm install -g coffee-script
Depuis maintenant, vous pouvez utiliser les commandes de café et de gâteau sur toute votre installation Ubuntu. Il est grand temps de télécharger le dernier code source Hubot depuis Github. J'ai décidé de le mettre là :
$ cd /opt && sudo git clone git://github.com/github/hubot.git
ce qui crée /opt/hubot dossier. Ensuite, utilisez le gestionnaire de packages de nœuds pour télécharger toutes les bibliothèques nécessaires sur lesquelles Hubot est basé en procédant :
$ cd /opt/hubot && sudo npm install
Vous pouvez également rechercher et en savoir plus sur les packages en explorant le site Web du registre npm. En attendant, une fois le processus d'installation terminé, exécutez-le depuis /opt/hubot répertoire de travail :
$ npm ls
et bientôt vous devriez voir l'arborescence de packages similaire à celle ci-dessous.
hubot@hubot-nest:/opt/hubot$ npm ls [email protected] /opt/hubot ├── [email protected] ├─┬ [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ ├── [email protected] │ └── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] └── [email protected]
Si votre réponse à Souhaitez-vous avoir votre propre robot personnel ? question est affirmative, veuillez exécuter :
cd /opt/hubot && ./bin/hubot
et en un clin d'œil vous atterrirez dans le terminal Hubot où vous pourrez vous amuser.
Hubot> hubot echo “I did it” Hubot> hubot who is Hubot
La meilleure façon de découvrir toutes les options de hubot est de taper :
Hubot> hubot help
Une fois familiarisé avec les commandes hubot et les scripts de base, vous pourrez convertir des valeurs, effectuer des calculs mathématiques simples ou rechercher des images avec google. Vous pourrez voir des films YouTube, spécifier des emplacements sur Google Maps ou même dessiner des moustaches sur la photo de quelqu'un comme si elle était auparavant affichée sur des captures d'écran. En apprenant à votre robot plus de scripts, vous verrez bientôt comment convertir le texte en ascii ou saluer quelqu'un avec de la bière. Ceci et bien d'autres fonctionnalités vous attendent.
Conclusion
Ce n'est que la pointe de l'iceberg. Le code source de Hubot est constamment mis à jour, vous pouvez donc suivre les modifications de son référentiel sur Github. Vous pouvez également consulter sa page Wiki pour voir combien d'adaptateurs ont été écrits jusqu'à présent. Si vous avez réussi à tester d'autres adaptateurs que Shell ou Hipchat avant moi, j'écouterai volontiers vos impressions et vos conseils.