PROJET AUTOBLOG


Le blog de ValVin

Site original : Le blog de ValVin

⇐ retour index

Utiliser jq pour parser le json d'une API REST

mardi 15 novembre 2016 à 20:21
Dans mon travail de tous les jours, je travaille sur des MDM (Mobile Device Managment) qui, selon l’éditeur, fournissent des APIs REST. C’est le cas par exemple pour Airwatch. Cet après-midi, je devais trouver le nombre de terminaux sur lesquels une application particulière était installée. J’ai essayé de trouver le résultat avec une commande curl et jq J’avoue que finalement je n’ai pas réussi en ligne de commande et que j’ai opté pour un script nodejs mais j’ai tout de même appris des choses.

Mattermost et un channel IRC c'est possible

samedi 17 septembre 2016 à 21:45

Mattermost avec Framateam pour Pepper&Carrot

Mattermost et un channel IRC c'est possible

Framasoft m'a fait découvrir Mattermost au travers de leur service Framateam.

Mattermost est un Slack-like, open-source et qui peut s'autohéberger. Cela n'engage que moi, je le décrirais comme un IRC 2.0. On consitue une team qui peut être public ou privée et dans cette team on a la possibilité de créer des channels ou tous les membres de l'équipes peuvent échanger.
Le côté IRC 2.0 sont les suivants :

Mattermost et un channel IRC c'est possible

J'ai récemment découvert la BD open-source Pepper&Carrot qui a fait un bruit en raison de la sortie d'une version imprimée par l'éditeur Glénat. J'en parle dans mon billet précédent

Mattermost et un channel IRC c'est possible

Pour dialoguer avec la communauté autour de la BD, il faut aller sur le channel #pepper&carrot sur freenode.

Mattermost et un channel IRC c'est possible

J'ai proposé à l'auteur, David Revoy, de mettre en place Framateam pour justement bénéficier des avantages de Mattermost. Comme la communauté est déjà sur Freenode, on a convenu de tenter d'utiliser Mattermost comme canal francophone et voir ce que ça donnait (ça se passe ici). Cependant faire une passerelle vers IRC semblait être une évidence mais comment faire ?

Matterbridge

C'est la qu'intervient le projet Matterbridge qui dans sa version 0.6.1 permet de relier Mattermost avec :

Dans mon cas, j'utilise seulement la passerelle IRC et plutôt qu'utiliser la version webhook, il existe une version plus qui permet d'utiliser les dernières API Mattermost (3.3.0).

Mattermost et un channel IRC c'est possible

Le binaire

Il suffit donc de compiler, ou réccupérer le binaire de la version 0.6.1 : ici

Pour ma part, je ne suis pas certains que ce soit dans les règles de l'art mais je l'ai mis dans /opt/matterbridge avec son fichier de configuration dont je parle ci-dessous.

Pour le faire tourner avec systemd, j'ai repris un de mes services qui me sert à faire tourner du nodejs :

[Service]
ExecStart=/opt/matterbridge/matterbridge-linux64 -plus -conf /opt/matterbridge/matterbridge.conf  
Restart=always  
StandardOutput=syslog  
StandardError=syslog  
SyslogIdentifier=matterbridge  
User=matterbridge  
Group=matterbridge

[Install]
WantedBy=multi-user.target  

L'option -plus me permet d'utiliser les dernières API Mattermost, -conf permet de spécifier l'emplacement du fichier.

La configuration - Matterbridge.conf

Il faut le paramétrer avec le fichier matterbridge.conf à partir du template : ici qui contient quelque petites coquilles facilement corrigeable. Ca se passe au niveau des paramètres RemoteNickFormat dont les " ne sont pas fermées.

Voici donc les parties importantes de la configuration. Avant cela, même si c'est évident, il faut pour chaque section activer son fonctionnement avec Enable=true

Section IRC

Tout d'abord le serveur ou se trouve le channel que l'on veut lier à notre team. Ici freenode. Etonément le channel se paramètre ailleurs.

J'avoue que c'est pas beau, je n'ai pas encore basculé en TLS/SSL.

Server="irc.freenode.net:6667"  

Le Nick utilisé par notre passerelle et son identification si nécessaire.

Nick="matterbot"  
NickServNick="nickserv"  
NickServPassword="secret"  

La façon dont est retranscrit un membre de la team sur le channel IRC :

RemoteNickFormat="<{NICK}>: "  

Je me suis aligné sur le format déjà utilisé par une passerelle Telegram. Si j'envoie un message depuis Mattermost, il sera préfixé par <valvin>:

 Section Mattermost en mode plus

Le serveur qui héberge l'instance Mattermost

Server="framateam.org"  

La team correspondante

Team="peppercarrot"  

Le membre de la team utilisé pour la passerelle :

Login="mattermostUser"  
Password="mattermostPasswd"  

Pour avoir le nick d'un message en provenance d'IRC il faut activer ce paramètre qui par défaut est à false

PrefixMessagesWithNick=true  

Et pour le formattage, tout comme pour IRC on a ce paramètre :

RemoteNickFormat="**{NICK}** :"  

qui aura pour conséquence d'afficher le nick de l'utilisateur IRC en préfixe devant ces messages dans Mattermost comme ceci => valvin :

Section Channel

Ensuite, il faut relier le channel IRC à celui de Mattermost. Dans mon cas, le canal IRC Freenode est #pepper&carrot et le canal Mattermost est irc.
Attention, pour le canal Mattermost, c'est sensible à la casse et il faut bien reprendre l'identifiant du canal.

IRC="#pepper&carrot"  
mattermost="irc"  

Section General

Pour activer le mode plus, même si ça fait doublon avec le paramètre de l'éxecutable :

Plus=true  

Crédit photos : Pixabay - CC0 - David Revoy - CC-BY

Mattermost et un channel IRC c'est possible

samedi 17 septembre 2016 à 19:45
Mattermost avec Framateam pour Pepper&Carrot Framasoft m’a fait découvrir Mattermost au travers de leur service Framateam. Mattermost est un Slack-like, open-source et qui peut s’autohéberger. Cela n’engage que moi, je le décrirais comme un IRC 2.0. On consitue une team qui peut être public ou privée et dans cette team on a la possibilité de créer des channels ou tous les membres de l’équipes peuvent échanger. Le côté IRC 2.

Mattermost et un channel IRC c'est possible

samedi 17 septembre 2016 à 19:45
Mattermost avec Framateam pour Pepper&Carrot Framasoft m’a fait découvrir Mattermost au travers de leur service Framateam. Mattermost est un Slack-like, open-source et qui peut s’autohéberger. Cela n’engage que moi, je le décrirais comme un IRC 2.0. On consitue une team qui peut être public ou privée et dans cette team on a la possibilité de créer des channels ou tous les membres de l’équipes peuvent échanger. Le côté IRC 2.

Pepper et Carrot - une BD sous licence libre

mardi 6 septembre 2016 à 13:36
Pepper et Carrot - une BD sous licence libre

J'aime beaucoup la BD, même si on ne peut pas dire que je suis un grand passionné, je me laisse facilement absorber par les dessins et les bulles. J'adorerais savoir en faire autant ... mais je crois que ce sera pour une autre vie.

Il y a très peu de temps, je découvrais la BD Pepper et Carrot après la lecture d'un article très intéressant de Calimaq sur SILEX, concernant l'édition de ce Webcomics sous licence libre.

Pepper et Carrot - une BD sous licence libre

Pepper est une jeune sorcière, Carrot son chat l'accompagne dans toutes ces avantures remplies d'humour.

Ce qu'il me fait plaisir dans ce projet, c'est la preuve qu'il est possible de faire une bande-dessinée sous licence libre avec possibilité de commercialisation et de réussir à s'y retrouver financièrement. Et cela dans un autre domaine que le logiciel libre pour lequel des modèles économiques rentables existent.

La licence choisie est la Creative Common By qui permet sa réutilisation, sa modification mais aussi sa commercialisation sans accord préalable de l'auteur, un crédit est suffisant.
David Revoy, l'auteur de ce projet l'explique bien avec ce dessin : Pepper et Carrot - une BD sous licence libre

Il souhaiterait amener à réfléchir sur le fonctionnement de l'industrie de la bande-dessinnée, comme il l'illustre sur son site :
Pepper et Carrot - une BD sous licence libre

D'ailleurs cette illustration me parait incomplète car dans ce cas préci, tout le monde peut apporter sa pierre à l'édifice : traduction, scénario ...

De plus, l'éditeur Glénat rentre tout de même en compte mais plutôt que s'intercaler entre l'artiste et les distributeurs, il a les mêmes droits que n'importe quelle personne qui souhaiterait utiliser le travail réalisé. De plus l'éditeur a joué le jeu car il rémunère l'auteur au travers de Patreon pour qu'il puisse continuer à produire son webcomic (mais aussi envisager peut être un Tome 2) et propose un tarif à 9,90€ qui est inférieur au prix habituel des BD traditionnelles.

D'ailleurs si vous souhaitez vous la version Glénat auprès de libraire indépendant du Nord-Pas-de-Calais, voici le lien du réseau Libr'Aire

Sinon tout est disponible sur le site de Pepper et Carrot, dont le premier épisode en Français est ici

Pour aider financièrement ce projet, voici quelques liens:

Après comme la licence est permissive, libre à vous de réutiliser, monétiser le travail et si vous le souhaitez sponsoriser les prochains épisodes! :)