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

Cell'IE
Cell'IEAssociation étudiante d'Intelligence Economique
Installer et utiliser Huginn
Outil de veille open source
Par Antoine Henry – antoine@icolab.fr
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.
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).
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, …)
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.
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)
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).
Configuration Twitter
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.
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
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.
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 !
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
Utilisation d’Huginn
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
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
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
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éé.
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.
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.
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.
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.
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
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
(Tutoriel) Installer et Utiliser Huginn - Outil de veille open source
1 of 25

Recommended

.php1 : les fondamentaux du PHP by
.php1 : les fondamentaux du PHP.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHPAbdoulaye Dieng
1.4K views32 slides
TP Git avancé DevoxxFR 2018 (exercices) by
TP Git avancé DevoxxFR 2018 (exercices)TP Git avancé DevoxxFR 2018 (exercices)
TP Git avancé DevoxxFR 2018 (exercices)Jérôme Tamborini
568 views22 slides
Programmazione funzionale e Stream in Java by
Programmazione funzionale e Stream in JavaProgrammazione funzionale e Stream in Java
Programmazione funzionale e Stream in JavaCristina Attori
311 views39 slides
Monitoring MySQL with Prometheus and Grafana by
Monitoring MySQL with Prometheus and GrafanaMonitoring MySQL with Prometheus and Grafana
Monitoring MySQL with Prometheus and GrafanaJulien Pivotto
6.3K views107 slides
Significance of metrics by
Significance of metricsSignificance of metrics
Significance of metricsDavid Karlsen
6.7K views15 slides
Explore your prometheus data in grafana - Promcon 2018 by
Explore your prometheus data in grafana - Promcon 2018Explore your prometheus data in grafana - Promcon 2018
Explore your prometheus data in grafana - Promcon 2018Grafana Labs
1.6K views33 slides

More Related Content

What's hot

[오픈소스컨설팅]Ansible overview by
[오픈소스컨설팅]Ansible overview[오픈소스컨설팅]Ansible overview
[오픈소스컨설팅]Ansible overviewOpen Source Consulting
2K views44 slides
Ansible - Hands on Training by
Ansible - Hands on TrainingAnsible - Hands on Training
Ansible - Hands on TrainingMehmet Ali Aydın
5.8K views116 slides
Grafana introduction by
Grafana introductionGrafana introduction
Grafana introductionRico Chen
8.8K views11 slides
OpenStack DevStack Configuration localrc local.conf Tutorial by
OpenStack DevStack Configuration localrc local.conf TutorialOpenStack DevStack Configuration localrc local.conf Tutorial
OpenStack DevStack Configuration localrc local.conf TutorialSaju Madhavan
18.8K views18 slides
Django Forms: Best Practices, Tips, Tricks by
Django Forms: Best Practices, Tips, TricksDjango Forms: Best Practices, Tips, Tricks
Django Forms: Best Practices, Tips, TricksShawn Rider
23.4K views18 slides
Android-Tp2: liste et adaptateurs by
Android-Tp2: liste et adaptateursAndroid-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursLilia Sfaxi
7.3K views12 slides

What's hot(20)

Grafana introduction by Rico Chen
Grafana introductionGrafana introduction
Grafana introduction
Rico Chen8.8K views
OpenStack DevStack Configuration localrc local.conf Tutorial by Saju Madhavan
OpenStack DevStack Configuration localrc local.conf TutorialOpenStack DevStack Configuration localrc local.conf Tutorial
OpenStack DevStack Configuration localrc local.conf Tutorial
Saju Madhavan18.8K views
Django Forms: Best Practices, Tips, Tricks by Shawn Rider
Django Forms: Best Practices, Tips, TricksDjango Forms: Best Practices, Tips, Tricks
Django Forms: Best Practices, Tips, Tricks
Shawn Rider23.4K views
Android-Tp2: liste et adaptateurs by Lilia Sfaxi
Android-Tp2: liste et adaptateursAndroid-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateurs
Lilia Sfaxi7.3K views
Docker storage drivers by Jérôme Petazzoni by Docker, Inc.
Docker storage drivers by Jérôme PetazzoniDocker storage drivers by Jérôme Petazzoni
Docker storage drivers by Jérôme Petazzoni
Docker, Inc.7.7K views
BigData_TP2: Design Patterns dans Hadoop by Lilia Sfaxi
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
Lilia Sfaxi29.7K views
Monitoring using Prometheus and Grafana by Arvind Kumar G.S
Monitoring using Prometheus and GrafanaMonitoring using Prometheus and Grafana
Monitoring using Prometheus and Grafana
Arvind Kumar G.S3.5K views
Kubernetes & helm 활용 by SK Telecom
Kubernetes & helm 활용Kubernetes & helm 활용
Kubernetes & helm 활용
SK Telecom10.6K views
Ionic, AngularJS,Cordova,NodeJS,Sass by marwa baich
Ionic, AngularJS,Cordova,NodeJS,SassIonic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,Sass
marwa baich3.6K views
Apache Hadoop and HBase by Cloudera, Inc.
Apache Hadoop and HBaseApache Hadoop and HBase
Apache Hadoop and HBase
Cloudera, Inc.36.7K views
Collect distributed application logging using fluentd (EFK stack) by Marco Pas
Collect distributed application logging using fluentd (EFK stack)Collect distributed application logging using fluentd (EFK stack)
Collect distributed application logging using fluentd (EFK stack)
Marco Pas2.1K views
Maven build for 멀티프로젝트 in jenkins by Choonghyun Yang
Maven build for 멀티프로젝트 in jenkins Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins
Choonghyun Yang1.6K views
Introduction to Haproxy by Shaopeng He
Introduction to HaproxyIntroduction to Haproxy
Introduction to Haproxy
Shaopeng He3.4K views

Viewers also liked

Tutoriel Hubspot by
Tutoriel HubspotTutoriel Hubspot
Tutoriel HubspotCell'IE
2.7K views29 slides
Presentación en el tercer workshop de red REMEDIA sobre avances de la RED by
Presentación en el tercer workshop de red REMEDIA sobre avances de la REDPresentación en el tercer workshop de red REMEDIA sobre avances de la RED
Presentación en el tercer workshop de red REMEDIA sobre avances de la REDREMEDIAnetwork
450 views17 slides
Parasitismo by
ParasitismoParasitismo
ParasitismoLina Lu Florez Torres
850 views15 slides
Presentazioni animate con prezi e pow toon by
Presentazioni animate con prezi e pow toonPresentazioni animate con prezi e pow toon
Presentazioni animate con prezi e pow toonRenata Durighello
834 views18 slides
Ecomobility - Ασφαλής μετακίνηση πεζών στη πόλη της νάουσας by
Ecomobility - Ασφαλής μετακίνηση πεζών στη πόλη της νάουσαςEcomobility - Ασφαλής μετακίνηση πεζών στη πόλη της νάουσας
Ecomobility - Ασφαλής μετακίνηση πεζών στη πόλη της νάουσαςSDE NAOUSAS
1.5K views47 slides
Procesamiento de eventos complejos aplicado al ámbito de las smart cities by
Procesamiento de eventos complejos aplicado al ámbito de las smart citiesProcesamiento de eventos complejos aplicado al ámbito de las smart cities
Procesamiento de eventos complejos aplicado al ámbito de las smart citiesFacultad de Informática UCM
979 views39 slides

Viewers also liked(20)

Tutoriel Hubspot by Cell'IE
Tutoriel HubspotTutoriel Hubspot
Tutoriel Hubspot
Cell'IE2.7K views
Presentación en el tercer workshop de red REMEDIA sobre avances de la RED by REMEDIAnetwork
Presentación en el tercer workshop de red REMEDIA sobre avances de la REDPresentación en el tercer workshop de red REMEDIA sobre avances de la RED
Presentación en el tercer workshop de red REMEDIA sobre avances de la RED
REMEDIAnetwork450 views
Presentazioni animate con prezi e pow toon by Renata Durighello
Presentazioni animate con prezi e pow toonPresentazioni animate con prezi e pow toon
Presentazioni animate con prezi e pow toon
Renata Durighello834 views
Ecomobility - Ασφαλής μετακίνηση πεζών στη πόλη της νάουσας by SDE NAOUSAS
Ecomobility - Ασφαλής μετακίνηση πεζών στη πόλη της νάουσαςEcomobility - Ασφαλής μετακίνηση πεζών στη πόλη της νάουσας
Ecomobility - Ασφαλής μετακίνηση πεζών στη πόλη της νάουσας
SDE NAOUSAS1.5K views
Tema APP 2017 Keluarga Berwawasan Ekologis KAM Makassar by Simon Patabang
Tema APP 2017 Keluarga Berwawasan Ekologis KAM MakassarTema APP 2017 Keluarga Berwawasan Ekologis KAM Makassar
Tema APP 2017 Keluarga Berwawasan Ekologis KAM Makassar
Simon Patabang2.1K views
Lean strategy: Solving the right problems by Daniel T Jones by Institut Lean France
Lean strategy: Solving the right problems by Daniel T JonesLean strategy: Solving the right problems by Daniel T Jones
Lean strategy: Solving the right problems by Daniel T Jones
TensroFlow XLA : JIT編 (r1.3版) by Mr. Vengineer
TensroFlow XLA : JIT編 (r1.3版)TensroFlow XLA : JIT編 (r1.3版)
TensroFlow XLA : JIT編 (r1.3版)
Mr. Vengineer3.5K views
Understanding P2P by urbanlabs
Understanding P2PUnderstanding P2P
Understanding P2P
urbanlabs5.8K views
GoFFIng around with Ruby #RubyConfPH by Gautam Rege
GoFFIng around with Ruby #RubyConfPHGoFFIng around with Ruby #RubyConfPH
GoFFIng around with Ruby #RubyConfPH
Gautam Rege865 views
Prime Data Boosters, Inc Capabilities by Mervin Rossman
Prime Data Boosters, Inc CapabilitiesPrime Data Boosters, Inc Capabilities
Prime Data Boosters, Inc Capabilities
Mervin Rossman319 views
インフラ野郎AzureチームOCP Summit US 2017号外 by Toru Makabe
インフラ野郎AzureチームOCP Summit US 2017号外インフラ野郎AzureチームOCP Summit US 2017号外
インフラ野郎AzureチームOCP Summit US 2017号外
Toru Makabe2.4K views
Leafully - Green Gamification - Manu Melwin Joy by manumelwin
Leafully - Green Gamification  - Manu Melwin JoyLeafully - Green Gamification  - Manu Melwin Joy
Leafully - Green Gamification - Manu Melwin Joy
manumelwin176 views

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

Installation Et Configuration De Monkey Spider by
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderMohamed Ben Bouzid
1.8K views7 slides
Mysql by
MysqlMysql
Mysqlmustaphagren
718 views31 slides
Mise en place de Nagios3 pas à pas by
Mise en place de Nagios3 pas à pas Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas yassine87
2.9K views6 slides
Nagios twil by
Nagios twilNagios twil
Nagios twilguestec231f
3.2K views34 slides
Reseau entreprise by
Reseau entrepriseReseau entreprise
Reseau entrepriseSAIDRAISS2
55 views47 slides
Atelier hadoop-single-sign-on by
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-onsahar dridi
805 views20 slides

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

Installation Et Configuration De Monkey Spider by Mohamed Ben Bouzid
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey Spider
Mohamed Ben Bouzid1.8K views
Mise en place de Nagios3 pas à pas by yassine87
Mise en place de Nagios3 pas à pas Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas
yassine872.9K views
Reseau entreprise by SAIDRAISS2
Reseau entrepriseReseau entreprise
Reseau entreprise
SAIDRAISS255 views
Atelier hadoop-single-sign-on by sahar dridi
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-on
sahar dridi805 views
Le système de versioning git by Nassim Bahri
Le système de versioning gitLe système de versioning git
Le système de versioning git
Nassim Bahri4.6K views
Héberger vos applications web grâce à openshift cloud by Nassim Bahri
Héberger vos applications web grâce à openshift cloudHéberger vos applications web grâce à openshift cloud
Héberger vos applications web grâce à openshift cloud
Nassim Bahri3.3K views
Compte rendu chaberge by shiruh
Compte rendu chabergeCompte rendu chaberge
Compte rendu chaberge
shiruh392 views
Mysql Apche PHP sous linux by Khalid ALLILI
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linux
Khalid ALLILI4.7K views

More from Cell'IE

Twitter curator by
Twitter curator Twitter curator
Twitter curator Cell'IE
27.3K views18 slides
Tutoriel Feedly by
Tutoriel FeedlyTutoriel Feedly
Tutoriel FeedlyCell'IE
5.7K views41 slides
Tutoriel Diphur by
Tutoriel DiphurTutoriel Diphur
Tutoriel DiphurCell'IE
23.5K views24 slides
Tutoriel Netvibes by
Tutoriel NetvibesTutoriel Netvibes
Tutoriel NetvibesCell'IE
3.5K views19 slides
Tutoriel Mention Version Entreprise by
Tutoriel Mention Version EntrepriseTutoriel Mention Version Entreprise
Tutoriel Mention Version EntrepriseCell'IE
1.3K views40 slides
Tutoriel TaDaweb by
Tutoriel TaDawebTutoriel TaDaweb
Tutoriel TaDawebCell'IE
6K views44 slides

More from Cell'IE(17)

Twitter curator by Cell'IE
Twitter curator Twitter curator
Twitter curator
Cell'IE27.3K views
Tutoriel Feedly by Cell'IE
Tutoriel FeedlyTutoriel Feedly
Tutoriel Feedly
Cell'IE5.7K views
Tutoriel Diphur by Cell'IE
Tutoriel DiphurTutoriel Diphur
Tutoriel Diphur
Cell'IE23.5K views
Tutoriel Netvibes by Cell'IE
Tutoriel NetvibesTutoriel Netvibes
Tutoriel Netvibes
Cell'IE3.5K views
Tutoriel Mention Version Entreprise by Cell'IE
Tutoriel Mention Version EntrepriseTutoriel Mention Version Entreprise
Tutoriel Mention Version Entreprise
Cell'IE1.3K views
Tutoriel TaDaweb by Cell'IE
Tutoriel TaDawebTutoriel TaDaweb
Tutoriel TaDaweb
Cell'IE6K views
Tutoriel de l'outil : Alerti by Cell'IE
Tutoriel de l'outil : AlertiTutoriel de l'outil : Alerti
Tutoriel de l'outil : Alerti
Cell'IE4.2K views
Wix _Création site web by Cell'IE
Wix _Création site webWix _Création site web
Wix _Création site web
Cell'IE1.2K views
Dashlane cellie by Cell'IE
Dashlane cellieDashlane cellie
Dashlane cellie
Cell'IE725 views
Les banques P2 : La fin du dollar by Cell'IE
Les banques P2 : La fin du dollar Les banques P2 : La fin du dollar
Les banques P2 : La fin du dollar
Cell'IE1.8K views
Les observatoires territoriaux by Cell'IE
Les observatoires territoriauxLes observatoires territoriaux
Les observatoires territoriaux
Cell'IE1.2K views
Les banques_Partie1_Cellie by Cell'IE
Les banques_Partie1_CellieLes banques_Partie1_Cellie
Les banques_Partie1_Cellie
Cell'IE1.2K views
Réaliser un communiqué de presse - Cellie by Cell'IE
Réaliser un communiqué de presse - CellieRéaliser un communiqué de presse - Cellie
Réaliser un communiqué de presse - Cellie
Cell'IE1.8K views
Les logiciels de veille - Cellie by Cell'IE
Les logiciels de veille - CellieLes logiciels de veille - Cellie
Les logiciels de veille - Cellie
Cell'IE1K views
Le Referencement by Cell'IE
Le ReferencementLe Referencement
Le Referencement
Cell'IE766 views
Yahoo Pipes_Cellie by Cell'IE
Yahoo Pipes_CellieYahoo Pipes_Cellie
Yahoo Pipes_Cellie
Cell'IE713 views
Personal Knowledge Management by Cell'IE
Personal Knowledge ManagementPersonal Knowledge Management
Personal Knowledge Management
Cell'IE4.3K views

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

  • 1. Installer et utiliser Huginn Outil de veille open source Par Antoine Henry – antoine@icolab.fr
  • 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. 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. 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. 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. 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. 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).
  • 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. 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. 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. 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. 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
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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