Cédons à la tradition : le billet de bilan de fin d’année.

Ce sera un article court. Dans le billet du 30 décembre 2015, je postais mes statistiques de visites annuelles, arrivant à un peu plus d’un demi-million de pages vues. Sur ce domaine, je reste dans la stabilité, avec au moment où je rédige ce billet un peu plus de 523 000 vues pour 217 540 visiteurs uniques.

Et non, je ne peux pas faire monter artificiellement le nombre de vues, j’ai une adresse IP fixe 🙂

Autant dire une nouvelle fois que je suis tout sauf le blogueur influent que certaines personnes veulent bien s’amuser à décrire. De cette année, je retiens les collaborations avec Péha, donc l’excellente planche qu’il a dessiné pour fêter mes 42 ans.

2016 se termine, et bien tant mieux. Je ne la regretterai pas sur certains plans, comme j’ai pu l’exprimer dans un billet du 27 décembre 2016.

Il n’y aura pas de billet de nouvelle année, car comme je l’avais écrit dans une de mes premières chronique cynique – une série de texte qui m’a permis de m’exprimer tout au long de l’année 2016 – je n’aime pas le jour de l’An.

Pour finir l’année musicalement, après Amanda Palmer en 2015 le choix était difficile. Je me suis replié sur Steven Wilson, avec son « Perfect Life » extrait de l’album « Hand Cannot Erase » de 2015.

Bon anniversaire… 11 ans déjà !

Le blog vient donc de fêter ses 11 ans. Contrairement aux 10 ans qui méritaient une fête avec les cotillons, les rubans et le gâteau, ce billet sera plus sobre. Je n’ai pas voulu demander à Péhä qui fait un excellent boulot de se surcharger pour mon humble blog. Je vous renvoie, outre son boulot énorme pour le billet des 10 ans, à ses créations pour mes 42 ans ou sur la guerre des bloqueurs de pubs.

Comme à chaque billet anniversaire, autant faire un petit bilan de l’année écoulée. Mon compteur dépasse les 3170 billets.

11-ansDonc près de 330 billets depuis le précédent anniversaire. Donc presque un billet par jour depuis un an… Autant dire que je ne pensais pas avoir été aussi productif.

Parmi les points important de l’année ? Outre mes 42 ans, âge geek par excellence :

J’ai aussi oublié de citer les nombreuses découvertes musicales et scripturales, dont le dernier tome de la saga d’Isabelle Rozenn Mari par exemple.

Cela a été aussi l’occasion pour moi de progresser et de m’engager dans un projet qui est resté hors ligne et que j’ai volontairement décidé de ne pas aborder sur le blog. J’en parlerai normalment dans le courant du mois d’octobre 2016. Du moins si les astres s’alignent correctement 🙂

Et maintenant ? J’espère voir les 12 ans du blog en septembre 2017.

J’espère aussi que les collaborations avec Péhä continueront. J’espère que mon projet personnel qui sera ou aura été secret jusqu’à courant octobre portera ou aura porté ses fruits.

Je compte continuer les mises à jour du tutoriel qui m’apporte un remerciement de temps à autre. Je compte aussi continuer à produire des vidéos sur youtube aussi bien pour montrer le pire du monde des distributions GNU/Linux que quelques vidéos vulgarisatrices.

Pour finir en musique, un extrait du douzième album d’Opeth dont la date de sortie est le 30 septembre 2016… Y a pas de hasard dans la vie 🙂

Héberger son blog sur Gitlab pages

Gitlab pages est un service permettant d'héberger des sites web statiques sur un dépôt Gitlab. Pour le moment, cette fonctionnalité n'est disponible que dans la version EE, c'est-à-dire payante (autrement dit pas de pages sur Framagit ou votre instance perso).

Gitlab pages vous permet uniquement d'héberger des pages statiques, ce qui est parfait pour un blog. Mais, comme il peut vite devenir fastidieux de taper du HTML et qu'on est quand même des geeks, on va utiliser Pelican. Ce petit script Python permet de transformer du markdown en HTML, et d'utiliser des templates Jinja2. En le combinant à Gitlab pages, on peut donc tranquillement rédiger ces textes en markdown, puis les compiler en HTML et les envoyer sur notre dépôt.

Sauf qu'on est des flemmards, et qu'on peut facilement automatiser le tout, à l'aide de Gitlab CI (qui est de toute façon un minimum nécéssaire pour utiliser Gitlab pages).

Cette article sera donc un petit guide pas-à-pas sur la création de votre blog sur Gitlab pages, avec Pelican.

Prérequis

Avant toute chose, assurez-vous d'avoir un compte sur https://gitlab.com. Si c'est le cas, créez un nouveau projet avec pour nom nom_dutilisateur_en_minuscule.gitlab.io (chez moi ça donne bat41.gitlab.io par exemple). Vous pouvez aussi le cloner en local si vous préférez, mais on ne va pas éditer de gros fichiers de code, donc votre IDE dernière génération et ces 56 plugins ne seront pas vraiment nécéssaire ...

Mettre en place Gitlab CI

Bien, maitenant, il va falloir configurer Gitlab CI pour qu'il envoie notre site Gitlab pages. Il faut donc créer un fichier .gitlab-ci.yml à la racine de votre projet. Ensuite, écrivez-y ceci.

image: python:2.7-alpine

pages:
  script:
  - pip install -r requirements.txt
  - pelican -s publishconf.py
  artifacts:
    paths:
    - public/

Peut-être que vous n'avez jamais travaillé avec Gitlab CI et que vous n'y comprenez rien, alors je vais tenter une explication de ce qu'on fait ici. Sur la première ligne, on indique qu'il faut utiliser l'image Docker appelée python-2.7-alpine, qui contient tout ce dont on a besoin pour utiliser Pelican (qui est écrit en Python). Ensuite, dans la partie pages, on décrit ce que doit faire Gitlab pages.

Tout d'abord, il va exécuter les commandes listées dans la partie script. Ici, on installe Pelican, grâce au fichier requirements.txt qu'on va créer juste après. Avec la seconde commande, on génère notre site.

La partie artifacts sert à indiquer quel dossier uploader sur Gitlab pages. Ici, on envoie le dossier public, où Pelican génère notre site.

On a vu qu'on allait devoir créer un fichier requirements.txt qui contiendrait les bibliothèques à installer. Il faut juste y mettre ceci.

pelican
markdown
typogrify

Ces trois bibliothèques sont Pelican et ses dépendances. Désormais, l'installation fonctionnerait, mais pas la compilation car le fichier de configuration de Pelican (publishconf.py) n'exite pas encore. On va y mettre ce code.

#!/usr/bin/env python
# -*- coding: utf-8 -*- #
from __future__ import unicode_literals

import os
import sys
sys.path.append(os.curdir)
from pelicanconf import *

SITEURL = '/'
RELATIVE_URLS = False

FEED_ALL_ATOM = 'feeds/all.atom.xml'
CATEGORY_FEED_ATOM = 'feeds/%s.atom.xml'

DELETE_OUTPUT_DIRECTORY = True

Ce script ne fait pas grand chose : on configure la racine du site, les adresses des flux ATOM et on dit de supprimer le dossier généré. On y importe aussi le fichier pelicanconf.py qui sert à configurer notre site (on les sépare par convention, mais ici on n'en aurait pas vraiment besoin). On va d'ailleurs le modifier tout de suite. Pour commencer, on va y écrire ce code.

#!/usr/bin/env python
# -*- coding: utf-8 -*- #
from __future__ import unicode_literals

AUTHOR = u'Moi, le génial auteur de ce blog'
SITENAME = u'Le nom de mon super blog !'
SITEURL = ''

# Les dossiers de Pelican

PATH = 'content' # Le contenu
OUTPUT_PATH = 'public' # Le résultat

TIMEZONE = 'Europe/Paris'

DEFAULT_LANG = u'fr'

# On ne génère pas les flux ATOM et RSS
# Mais ce paramètre est remplacé dans publishconf.py

FEED_ALL_ATOM = None
CATEGORY_FEED_ATOM = None
TRANSLATION_FEED_ATOM = None
AUTHOR_FEED_ATOM = None
AUTHOR_FEED_RSS = None

# Les liens vers vos comptes sociaux

SOCIAL = (('Diaspora*', 'https://diasp.org/u/truc_muche'),
          ('Twitter', 'https://twitter.com/truc_muche'),)

DEFAULT_PAGINATION = 5

SITESUBTITLE = u'Un sous-titre qui est trop bien !'

Je pense que vous comprenez ce que l'on fait ici.

Il ne nous reste plus qu'à créer un post de test. Créez un fichier /content/posts/2016-test.md, puis tapez ceci.

Title: Test !
Date: 2016-04-21
Category: Blog
Tags: blog, test
Slug: test

Je fais un test. Avec du **MarkDown** !

Maintenant, votre site est prêt. Il va falloir lancer Gitlab CI pour qu'il envoie votre site sur Gitlab pages.

Configurer Gitlab CI

Dans le menu gauche de Gitlab, cliquez sur Settings pour configurer votre dépôt. Rendez-vous ensuite dans la section Runners et cliquez sur le bouton vert, Enable shared runners. Vous venez d'activer Gitlab CI.

Maintenant, il va falloir lancer un build. Pour cela, il faut que vous modifiez un peu le code de votre site. Changez par exemple le texte de votre article de test.

Une build devrait se lancer automatiquement. Une fois qu'elle est finie (pour voir où elle en est, allez dans l'onglet Builds) vous pouvez normalement accéder à votre site, à l'adresse https://nom_dutilisateur_en_minuscule.gitlab.io. Si vous n'arrivez pas à y accéder, vous pouvez connaître son adresse exacte en vous rendant dans les paramètres de votre dépôt, puis dans Pages.


J'espère que vous avez réussi à créer votre blog sans trop d'encombres et que ce petit tutoriel vous aura aidé.

Bienvenue

Bienvenue à tous sur ce blog !

Ce blog, c'est mon blog à moi, Bat', ou Baptiste IRL. J'y posterais des articles à propos d'informatique, libre notamment, mais je ne compte pas me limiter à cela.

Les articles traitant d'informatique seront aussi surement publiés sur Zeste de Savoir, dans ma tribune libre, une fois que la fonctionnalité sera disponible.

Quand je dis que je vais parler d'informatique, je penses que je vais parler de Vala, et de mon projet Valse, mais aussi des critiques, des petits projets pour le fun ou de conception de site web. Mais je ne veux pas me limiter à ces sujets, et il est possible que je parle de sujet plus ancrés dans le réel.

J'essaierai aussi de faire en sorte que sur les trois articles que je vais sortir, deux ne soient pas là pour m'excuser de ne pas écrire plus souvent.

Vous remarquerez aussi que les commentaires ne sont pas disponibles. C'est tout simplement parce que j'utilise Pelican pour gérer ce site et que le seul moyen (que je connaisse) d'avoir des commentaires est d'avoir Disqus. Donc, non pas de commentaires. Si vous voulez réagir, vous pouvez m'envoyer un mail à gelezbaptiste at openmailbox point org, commenter sur l'article Zeste de Savoir correspondant, si il existe ou sur le post Diaspora*, si j'y ai partagé l'article.

Sur ce, n'hésitez pas à vous abonner au flux RSS, ou à ajouter le site à vos favoris. Je vous dit à la prochaine. Merci de m'avoir lu !

P.S : Vous remarquerez cette originalité folle dans le nom du site. Un jour je trouverais un meilleur titre. Un jour ...