Twitch Changelog Tracker

Maintenir un projet c’est sympas, mais devoir aller manuellement régulièrement sur les changelogs pour savoir s’il y a eu une mise à jour … Pourquoi ne pas essayer de faire venir la mise à jour à soit plutôt que l’inverse ?!

J’ai donc décidé de créer :
https://github.com/Scorfly/twitchChangelog

Je tiens dans un premier temps à remercier Twitch de maintenir un changelog à jour !

Je parse donc le site régulièrement, puis j’utilise les webhook Discord pour push l’information automatique dans le channel de mon choix.

J’ai mis le script en crontab afin d’être averti automatique de toute mise à jour

# check update on twitch changelog
*/5 * * * * /home/user/twitchChangelog -discord=https://discord.com/api/webhooks/xx

Le résultat :

OWBet.fun project starting

Bonjour,

Pas mal de projet ces derniers temps et pourtant je ne prends pas le temps d’en parler …

Durant les dernière années j’ai eu l’occasion de travailler sur des projet / Bots Discord et Twitch pour des streamers. J’aurais certainement l’occasion d’en parler dans d’autres billet.

Toujours passionné par Overwatch et particulièrement par la scène majeur : l’Overwatch League.

Ce qui me manque actuellement c’est un site où je peux parier sur les match pour le fun ( no money ! ) et comparer mes paris avec mes amis.

Certains streameur tel que Zqroid organisent ces concours via des fichiers excel , …

Or je cherchais justement un projet à développer pour tester des technologies que je ne maitrise pas actuellement mais que je souhaiterais réellement connaitre.

C’est pourquoi j’ai décidé de me lancé dans le project OWBet.fun

Un site que je vais réaliser en golang et qui me permettra de réaliser des paris entre amis / groupe pour la prochaine saison d’overwatch league !

Pour réaliser celui-ci je ne vais pas tout faire from scratch, j’ai donc cherché le meilleur Framework opensource pour réaliser celui-ci.

Me première recherche m’ont orienté vers Revel , puis j’ai eu la suggestion de Echo . Mais finalement en cherchant des comparatif entre les deux, je suis tombé sur Gin-Gonic et c’est celui que j’ai choisi pour mon projet.

Je vais donc commencer à mettre cela en place et je n’hésiterais pas à partager mes avancés sur ce projet 🙂

Awesome WM – Battery Widget

Bonjour !

Je viens d’installer un petit plugin pour voir l’état de ma batterie sur Linux.
En effet se fier à la petite LED du bouton power qui se met à clignoter dans les derniers instant n’est pas le top pour être certain de se brancher à temps …

Pourquoi devoir installer un widget ?
J’utilise sur linux une interface graphique très simple / light pour pouvoir bénéficier au mieux de mon petit écran et pour ne pas charger / afficher des éléments qui seraient inutile d’avoir en permanence. L’interface graphique que j’utilise est Awesome, elle me permet aussi d’avoir plusieurs « Bureau » pour organiser les programmes que j’utilise.

Le Widget en question :
J’ai trouvé un petit projet sur github qui répond parfaitement à ma demande pour afficher simplement le pourcentage de la batterie et qui permet d’avoir une coloration différente suivant la capacité restante de celle-ci
https://github.com/coldfix/awesome.battery-widget

Seulement petit défaut, le script va lire des fichiers système, or tous ne sont pas strictement identique. De ce fait j’ai rencontré un défaut d’exécution m’indiquant toute les 2 minutes qu’un fichier n’a pas réussit à être lu.
J’ai donc réalisé un petit correctif de ce projet Github et proposé ma Pull Request pour que chacun puisse en bénéficier.

https://github.com/coldfix/awesome.battery-widget/pull/1

Un projet vraiment de très petite taille mais qui m’a permis de voir comment créer une pull Request sur GitHub

Yeah

[GO] Hugo – Premiers pas – My Wishlist

L’installation de Golang sur mon serveur étant enfin prête, je vais donc pouvoir m’amuser avec Hugo.

Hugo qu’est-ce que c’est ?

Hugo est un programme écrit en Go qui permet de créer rapidement des sites. Ceux-ci sont statiques et écrit en Markdown.

Voici une vidéos qui présente comment créer un site en 2 minutes, mais que l’on soit bien d’accord, il faut bien connaitre comment fonctionne l’outil. Votre premier site vous prendra un peu plus de temps. De plus la phase installation n’est pas indiqué dans cette vidéos.

Présentation :

Installation :

Après avoir vu cette présentation, je suis donc passé a la phase d’installation en suivant ce guide :
Guide d’installation

Celui-ci est en soit simple, mais j’ai manqué l’info capital : Go 1.5+ Or ce n’était pas le cas … d’où mon précédent ticket sur l’installation de Go.

Au final voici les instructions que j’ai suivi pour faire l’installation complète :

# creating folder where go application will be
$ mkdir $HOME/go

# setting GOPATH environnement variable
$ echo 'export GOPATH=$HOME/go' >> $HOME/.zsh_local

# reloading current config
$ source ~/.zshrc 

# getting Hugo application from sources
$ go get -u -v github.com/spf13/hugo

# editing PATH environnement variable to use new application
$ echo 'export PATH=$PATH:$HOME/go/bin' >> $HOME/.zsh_local

# reloading current config
$ source ~/.zshrc 

# testing Hugo
$ hugo version
Hugo Static Site Generator v0.17-DEV BuildDate: 2016-06-27T01:25:28+02:00

# Being Happy =)

hugo-logo

Initialisation :

# creating new go project
$ hugo new site myWishlist

$ cd myWishlist

# create a welcome post
$ hugo new post/welcome.md
/home/scorfly/myWishlist/content/post/welcome.md created

Mon message d’accueil :

$ cat content/post/welcome.md 
+++
date = "2016-07-01T01:04:28+02:00"
title = "Welcome"
type = "welcome"
+++

Je fait enfin mes premiers pas avec Hugo pour réaliser un blog / wishlist \o/

**Pourquoi un site wishlist ?**

Dans un premier temps par ce qu'il me faut des projets divers et varier afin de tester les technologies qui ont la hype actuellement !

De plus je suis toujours "en galère" pour indiquer à mes proches ce que je souhaite à Noël ou à mon anniversaire ... et bien souvent les idées, je les ai une fois les fêtes passées ...
Donc autan les noter :D

### J'organiserais les articles suivant différentes catégories :

* [books] - les livres (genre j'ouvre les bouquins parfois)
* [clothes] - les vêtements
* [tools] - les objets
* [others] - divers

Gestion du thème
Ensuite une liste de theme est disponible sur https://themes.gohugo.io/
J’ai pour ma part sélectionné Hugo Futur Imperfect

$ cd themes
$ git clone https://github.com/jpescador/hugo-future-imperfect.git

Pour le thème que j’ai sélectionné un exemple de fichier de configuration est disponible. J’ai donc copié celui-ci afin d’avoir une bonne base.

$ cd hugo-future-imperfect
$ cp exampleSite/config.toml > ../../config.toml

Après l’avoir personnalisé, voici mon fichier config.toml

baseurl = "http://wishlist.scorfly.ovh/"
languageCode = "en-us"
title = "My WishList - Scorfly"
theme = "hugo-future-imperfect"
preserveTaxonomyNames = true
paginate = 3
googleAnalytics = "UA-19965251-5"
publishdir = "public"

[params]
    # Sets the meta tag description, usually reserved for the main page
    description          = "Wishlist de Scrofly"
    # This will appear on the top left of the navigation bar
    navbarTitle          = "My Wishlist"
    # Social media buttons that appear on the sidebar
    socialAppearAtTop    = true
    socialAppearAtBottom = true
    # set this to the section name if section is not post
    viewMorePostLink     = "/blog/"

    # Optional Params
    categoriesByCount    = true
    includeReadingTime   = true
    loadFavicon          = false
    faviconVersion       = ""

# parms.intro will appear on the sidebar
# This is optional, but it's suggested to use
[params.intro]
    header    = "My Wishlist"
    paragraph = ""
    about     = ""

# This will also appear on the sidebar.
# A width of less than 100px is recommended
# This is optional
[params.intro.pic]
    src       = "/img/main/logo.jpg"
    circle    = false
    imperfect = true
    width     = ""
    alt       = "My WhisList"

# Adjust the amount of recent posts on the sidebar.
# This is optional. The default value 5 will be used
[params.postAmount]
    sidebar = 2

# Set up your menu items in the navigation bar
# You can use identifier to prepend a font awesome icon to your text
[[menu.main]]
    name = "Categories"
    url = "/categories"
    weight = 2

[[menu.main]]
    name = "List"
    url = "/blog"
    identifier = "fa fa-newspaper-o"
    weight = 1

# Insert your username and the icon will apear on the page as long as
# socialAppearAtTop or socialAppearAtBottom is set to true in the params area
# The social media icons will appear on the sidebar
[social]
    github          = "scorfly"
    facebook        = "scorfly"
    twitter         = "scorfly"
    email           = "scorfly@gmail.com"
    linkedin        = "Scorfly"

Gestion de la configuration nginx

$ cat /etc/nginx/sites-enabled/wishlist
server {

	listen 80;
	server_name www.wishlist.scorfly.ovh wishlist.scorfly.ovh;

	access_log /var/log/nginx/default.access.wishlist.log;

	# hide nginx version on error page
	server_tokens off;

	location / {
		# Be sur this folder is created
		root   /home/scorfly/myWishlist/public;
		index  index.html index.htm;
	}
}

$ /etc/init.d/nginx restart

Avec goHugo, les modifications réalisé aux articles ne sont pas directement appliqué.
Pour que les modification soit appliqué, il faut relancer le programme hugo
Ceci recréera le site en statique suivant les fichiers qui ont été modifier. Il vous suiffit donc de vous placer dans le dossier de votre projet, puis de lancer hugo.

$ cd $HOME/myWishlit
$ hugo
Started building site
0 draft content
0 future content
0 expired content
2 pages created
0 non-page files copied
3 paginator pages created
0 tags created
1 categories created
in 82 ms

Voilà, c’est fini, il n’y a plus qu’à créer des articles !

Vous pouvez récupérer le début de mon dépôt sur :
GitHub

Go – installation

go

Depuis que j’ai préparé mon serveur web, je n’ai pas avancé sur la création de ma wishlist …
J’ai décidé de créer ce site avec l’outil Hugo ceci pour des raisons simples :

  • Découverte de cet nouvel outil
  • Utilisation du go

Cependant je me retrouve dors et déjà bloqué … Bien que je sois actuellement sur une distribution Debian récente, mais l’installation de go me donne une version non à jour.

$ go version
go version go1.3.3 linux/amd64

En effet il me faut une version 1.5+ pour faire tourner l’outil voulu … Dès collègues de boulot m’avaient prévenu qu’avec Debian les paquets sont souvent « en retard » pour des souci de proposer uniquement des version dite « stable »

Je risque d’ailleurs de ne pas être à jour pour nginx aussi … je mettrais donc à jour mon serveur web dans un second temps.

Je vais donc installer GO en suivant le guide officiel :
Installation de Go

Je commence donc a télécharger la dernière version actuellement disponible sur :
Téléchargement de Go

Puis installation de celui-ci en suivant les guide.
Résumé de l’installation :

# going to temp folder to dl files
$ cd /tmp

# downlad go
$ wget https://storage.googleapis.com/golang/go1.6.2.linux-amd64.tar.gz

# extract it to my custom bin folder
$ tar -C $HOME/bin -xzf go1.6.2.linux-amd64.tar.gz

# add some var environement var
# pour le fonctionnement de .zsh_local : http://me.scorfly.com/blog/?p=129
$ echo 'export GOROOT=$HOME/bin/go' >> $HOME/.zsh_local
$ echo 'export PATH=$PATH:$GOROOT/bin' >> $HOME/.zsh_local

# refresh environnement to get the news values setted
$ source ~/.zshrc

# test go version
$ go version
go version go1.6.2 linux/amd64

Au final l’installation via les binaires fut très simple.

J’avais souhaité faire l’installation directement via les sources git en compilant moi même les sources.
Mais je me suis heurté à de nouvelles problématiques … la volonté principale actuellement étant de tester différents outils, je ferais donc cela plus tard.