Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

(Tutoriel) Installer et Utiliser Huginn - Outil de veille open source

3,229 views

Published on

Nous vous proposons d’installer et de tester un outil de veille sur lequel vous avez complètement la main contrairement aux solutions en SAAS qui restent des boîtes noires.

Le tutoriel vous propose de découvrir Huginn, un logiciel libre qui propose des fonctionnalités qui le positionnent entre (feu) Yahoo Pipes et IFTTT. Développée par une communauté importante et mis à jour régulièrement, il saura répondre à la plupart de vos attentes et vous permettra de mieux comprendre comment fonctionne les outils de veille.

Nous pourrons compléter cette première approche d’Huginn, en fonction de vos retours/demandes, en faisant des focus sur des points spécifiques.

Published in: Data & Analytics
  • Be the first to comment

(Tutoriel) Installer et Utiliser Huginn - Outil de veille open source

  1. 1. Installer et utiliser Huginn Outil de veille open source Par Antoine Henry – antoine@icolab.fr
  2. 2. Introduction 1/2  Après la fermeture de Yahoo Pipes, comme beaucoup de personnes faisant de la veille, j’ai cherché un moyen de remplacer cet outil simple et puissant.  Huginn est une solution de substitution très intéressante Yahoo Pipes, l’outil propose en effet les mêmes fonctions de bases (notamment agrégation et traitement des flux RSS), mais il propose aussi de se connecter à de nombreux services en ligne (Twitter, météo, XKCD, …). Huginn fonctionne grâce à des agents qui vont accomplir des actions bien précises qui vous permettront de gérer votre veille comme bon vous semble.  Huginn requiert un serveur (préférez un serveur sur linux) sur lequel est installé Ruby, MySQL et Git (nous n’aborderons pas l’installation des ces dépendances techniques dans ce tutoriel, de nombreuses ressources sont disponibles en ligne). Cet outil nécessite la maîtrise de certaines notions techniques mais je vais m’efforcer à faire en sorte que ce tutoriel soit simple et accessible pour tous.
  3. 3. Introduction 2/2  Huginn est notamment développé par Andrew Cantino. Les sources sont disponibles sur Github, où l’outil est régulièrement mis à jour.  Les développeurs sont très réactifs, en cas de problème n’hésitez pas à les contacter. Vous pouvez aussi participer au développement de l’outil, Github étant une plateforme collaborative pour le code informatique.  Passons maintenant à l’installation de Huginn sur notre serveur. (Les commandes à faire depuis le terminal ainsi que le nom des fichiers sont en italique).
  4. 4. Installation depuis les sources  Une fois votre serveur et MySQL installés et configurés, nous allons pouvoir commencer par installer Huginn.  Placez vous dans le dossier où vous souhaitez installer Huginn, puis avec un terminal, nous allons lancer la commande suivante :  git clone https://github.com/cantino/huginn.git  Elle va permettre de récupérer Huginn depuis Github et de l’installer sur votre serveur.  Nous devons maintenant configurer le fichier .env présent dans le dossier qui vient d’être créer suite à notre commande. Vous pouvez utiliser votre éditeur de texte préféré (vi, vim, emacs, …)
  5. 5. Configuration de Huginn  Depuis le dossier Huginn, faites cp .env.example .env. Nous allons maintenant éditer le fichier .env qui vient d’être créé.  Vous verrez dans le fichier cette ligne : APP_SECRET_TOKEN=REPLACE_ME_NOW!  Pour créer ce token, ressortez du fichier et faites depuis le terminal rake secret pour générer le code a insérer à la place de REPLACE_ME_NOW  Dans DOMAIN, si vous êtes sur un serveur, remplacez localhost par l’adresse ip de votre serveur (via la commande ifconfig ou utilisez la même ip que vous utilisez pour vous connecter en ssh à votre serveur).  En dessous de DOMAIN, vous pouvez configurer le port sur lequel écoute Huginn (par défaut 3000).  Les valeurs de DOMAIN et PORT seront à mettre dans la barre URL de votre navigateur pour accéder à l’interface d’Huginn (ex 192.0.0.1:3000)  Vous pouvez enlever aussi le # devant RAILS_ENV=production pour préparer le déploiement d’Huginn.
  6. 6. Configuration de Huginn  Une fois cette partie configurée, nous allons passer à la connexion entre Huginn et MySQL.  DATABASE_ADAPTER=mysql2 (on ne touche pas)  DATABASE_ENCODING=utf8 (on ne touche pas)  DATABASE_RECONNECT=true (on ne touche pas)  DATABASE_NAME=huginn_development (il faut avoir créé dans MySQL la base de données huginn_development ou une autre base et la renseigner ici)  DATABASE_POOL=10 (on ne touche pas)  DATABASE_USERNAME=root (on remplace si besoin si le nom d’utilisateur pour MySQL n’est pas root)  DATABASE_PASSWORD="" (mot de passe du compte (ici mot de passe du compte root de MySQL)
  7. 7. Configuration de Huginn  Après cela, vous allez pouvoir configurer vos utilisateurs (si vous souhaitez l’ouvrir à d’autres utilisateurs) et votre compte mail (si vous souhaitez recevoir des notifications par e-mail).  Il est possible de connecter Huginn avec de nombreux services en ligne (Twitter, Thirty, Github, Tumblr, Dropbox, Wunderlist et Evernote sont disponibles). Pour cela, vous devez mettre vos clés d’accès. Prenons l’exemple de twitter.  Rendez-vous sur apps.twitter.com et connectez vous avec votre compte. Vous allez créer une application pour Twitter. Donnez lui un nom, et une description. Pour la Callback URL, il faut que vous saisissiez : http://<votre ip ou domaine>/auth/twitter/callback (de cette manière Huginn va pouvoir se connecter à votre compte Twitter).
  8. 8. Configuration Twitter
  9. 9. Configuration de Huginn  Maintenant que vous avez votre API KEY et API SECRET, vous pouvez saisir ces clés dans le fichier .env.  Voici les liens vers les autres services pour créer vos applications pour y accéder :  Dropbox  Wunderlist  Basecamp  Tumblr Voilà, Huginn est configuré, nous allons pouvoir finaliser son installation.
  10. 10. Fin de l’installation  Notre fichier .env est désormais bien configuré, nous allons pouvoir maintenant faire les commandes suivantes :  bundle install --deployment --without development test (attention, si vous avez installé une version 2.1 ou 2.2 de ruby, vous allez avoir une erreur. Il faudra rajouter dans le fichier Gemfile : if RUBY_VERSION =~ /2.2/ Encoding.default_external = Encoding::UTF_8 Encoding.default_internal = Encoding::UTF_8 end if RUBY_VERSION =~ /2.1/ Encoding.default_external = Encoding::UTF_8 Encoding.default_internal = Encoding::UTF_8 end
  11. 11. Fin de l’installation  Après que les dépendances après avoir installer les dépendances , nous allons créer et structurer la base de données :  bundle exec rake db:create RAILS_ENV=production  bundle exec rake db:migrate RAILS_ENV=production  bundle exec rake db:seed RAILS_ENV=production  bundle exec rake assets:precompile RAILS_ENV=production  Enfin, notre instance Huginn est prête à démarrer.
  12. 12. Lancement d’Huginn  Pour vérifier que tout se passe bien, depuis votre terminal faite :  bundle exec foreman start –p 3000 (si votre port d’écoute est le 3000)  Allez maintenant sur DOMAIN:PORT et normalement vous devriez voir  Félicitations, votre instance Huginn fonctionne !
  13. 13. Déployer Huginn  Sur Ubuntu ou Debian  Editer le fichier Procfile pour enlever les # devant web: bundle exec rails server -p ${PORT-3000} -b ${IP-0.0.0.0} et jobs: bundle exec rails runner bin/threaded  Faites après bundle exec rake production:export  Puis sudo cp deployment/logrotate/huginn /etc/logrotate.d/huginn  Et enfin sudo bundle exec rake production:status  Pour demarrer ou éteindre votre instance d’Huginn, vous n’aurez besoin que de ces commandes sudo bundle exec rake production:start et sudo bundle exec rake production:stop  Sur FreeBSD :  Si comme moi, vous utilisez FreeBSD, cette commande fonctionne très bien :  daemon –fr bundle exec foreman start –p 3000
  14. 14. Utilisation d’Huginn
  15. 15. Première connexion  Votre instance Huginn est configurée ? Parfait allez sur DOMAIN:PORT et cliquez sur Login.  Les identifiants par défaut sont : admin/password  Vous pouvez (devez !) les changer après dans account -> user management
  16. 16. L’interface d’Huginn Onglet pour accéder à l’ensemble de nos agents Onglet pour accéder à l’ensemble de nos scenarii Services externes auxquels Huginn est connecté Gestion du compte et des utilisateurs Nombre d’agents et accès rapide vers ceux-ci Nombre d’évènements créés par nos agents
  17. 17. Agent/Scenario  Que sont les agents et les scenarii ?  Les agents vont permettre de faire une action bien précise. Il existe de nombreux agents (comme RSS Agent, Twitter Stream Agent, Trigger Agent, ….). Quand vous demandez à créer un nouvel agent, l’ensemble des agents est proposé. Si vous ne trouvez pas votre bonheur dans la liste, vous pouvez suggérer sur Github les services/fonctions que vous souhaiteriez voir implémenter.  Les agents vont faire une action et envoyer le résultat de cette action vers d’autres agents.  Exemple : Un RSS agent va récupérer un flux RSS, il va pouvoir l’envoyer dans le Trigger Agent, qui va filtrer en fonction de la valeur que nous avons défini et va transmettre les résultats filtrés au Data Output Agent, qui vous permet de générer un flux RSS des résultats filtrés.  Les scenarii vont vous permettre de regrouper ensemble plusieurs agents pour mieux les gérer (actions de masse) et avoir une vision schématique de leur comportement
  18. 18. Créer son premier agent  Lors de la création d’un agent, un texte apparaît à droite et décrit l’agent, ses fonctions et la syntaxe qu’il faut utiliser pour bien le configurer.  Je vais créer un agent de type RSS Typologie de l’agent Nom de l’agent (pensez à les nommer de manière bien distincte pour vous retrouvez dans vos agents Ici, on défini la fréquence à laquelle l’agent va fonctionner. Ici, il va aller une fois par jour consulter le flux RSS pour voir s’il y a de nouvelles entrées Temps que vous souhaitez garder les « évènements » (1 évènement = 1 nouvelle entrée dans un flux RSS par exemple) dans votre base de données. /! vous pouvez rapidement vous retrouver avec votre BDD saturée. Ici, vous pouvez sélectionner les agents qui vont recevoir le résultat de l’agent créé.
  19. 19. Créer son premier agent Pour ajouter de nombreux flux RSS, vous devez sélectionner Toggle View et mettre vos flux comme sur l’exemple (pas de virgule après le dernier flux RSS et on ferme le crochet ] et virgule après le crochet ) Vous pouvez enregistrer ou tester à blanc votre agent pour vérifier qu’il n’y a pas d’erreur.
  20. 20. Filtrer les données de notre premier agent Typologie de l’agent Ici, je mets en source mon agent créé précédemment et je coche pour que les résultats du 1er agent soient propagés de suite dans mon nouvel agent.
  21. 21. Filtrer les données de notre premier agent Si vous souhaitez garder les évènements, mettez sur true Le filtre marche en se basant sur les regex (même si d’autres modes peuvent être utilisés). Dans value, il faut mettre votre regex (avec vos mots-clés). Dans path, il faut mettre le chemin où Huginn doit chercher notre regex. Dans un flux RSS, notre mot-clé peut se trouver dans description ou title.
  22. 22. Représentation schématique du fonctionnement d’Huginn  En faisant des scenarii, vous pouvez visualiser un diagramme avec les interactions de vos agents. En voici un exemple :  Il y a mon flux d’entrée, mes filtres et mon rendu final.
  23. 23. Connexion aux services externes  Cliquez sur Services en haut à droite et vous pourrez accéder à l’interface pour connecter votre instance d’Huginn à des services en ligne
  24. 24. Voilà vous disposez des clés pour mettre en place votre instance Huginn De nombreux exemples sont disponibles sur le Github ou sur Vimeo Tutoriel réalisé par Antoine Henry - antoine@icolab.fr

×