Propagande et stratégie de blog Pelican

A partir de 2013, j'ai lancé mon blog personnel, en sachant que parfois j'allais créé quelques polémiques, mais c'est également un outil pour la veille technologique et le partage d'information, l'intelligence collective.

J'ai utilisé une Stack LEMP (Linux Nginx MariaDB PHP) pour pouvoir utiliser Wordpress sur un serveur VPS hébergé à Singapour et donc éviter la législation française. Pour déboulonner mon blog il faut couper les ressources pour payer le serveur ou le nom de domaine. Et donc faire passer sous de la loi anti-terroriste.

C'était un peu overkill, pour juste de l'écriture. Wordpress est réellement utile pour faire de l'e-commerce avec des plugins et de la gestion de base de donnée.

De plus je dois assurer moi-même la sécurité du serveur, et gérer les vulnérabilités, attaques DDOS.

Donc je suis passé à une solution de compromis. Par de l'épuration de choses inutiles pour augmenter la sécurité du blog avec un site statique. Il me fallait un hébergeur, j'ai choisi Github Pages car c'est gratuit, il fournit un nom de domaine, et permet d'être relativement bien référencé sur les moteurs de recherches. De plus Github a une infrastructure colossal, pour faire tomber les serveurs, c'est généralement la panique car 70 millions de développeur utilise Github. Github surveille très peu le contenu qu'il héberge, il y a pas de modération. Fermer un compte Github est très rare, au risque de créer un effet Streisand. Cela fait généralement polémique. Les développeurs avec une IP en Iran sont bannis de Github.

De plus le workflow du blog est plus moderne, c'est des blogs pour développeurs. J'ai une copie en local sur mon ordinateur, sur le repository Github qui peut-être forké et sur les pages de Github qui met en forme le code informatique pour cela soit lisible humainement.

Les sites statiques les plus populaires:

  • Jekyll (Ruby)

  • Octopress (Ruby)

  • Pelican (Python)

  • Hugo (Golang)

  • Gatsby (Javascript)

Il y a des alternatives à Github Pages: Vercel, Netlify, Heroku. Et quelques pure players.

Quand j'écris un article pour mon blog j'utilise parfois Vim (ou un outil de mise en page et conversion) , en markdown sur mon ordinateur, puis simule les changements sur le blog en local puis "commit" et "push" sur le repo distant et enfin met à jour les pages Github.

Les développeurs ont besoin comme "features" la cotation du code source et la coloration syntaxique pour améliorer la lecture du code sur un blog, tel que permet le markdown.

Mon fichier de configuration, que je garde sur Zim pour créer un blog Pelican, cela veut dire que vous avez configuré Git:

Créer sur le site de github le repo: YOUR\_USERNAME.github.io

Initialiser le git avec .gitignore pour python

Now that the repository is ready, let's clone it to the folder you will be using to store the code in your machine on GNU/Linux systems, the command might go as:

$ git clone https://github.com/YOUR\_USERNAME/YOUR\_USERNAME.github.io.git  

And change to the new directory:

$ cd YOUR\_USERNAME.github.io  

Because of how Github Pages prefers to work, serving the files from the master branch, you have to put your source code in a new branch, preserving the "master" for the output of the static files generated by Pelican. To do that, you must create a new branch called "source":

$ git checkout -b source  

Create the virtualenv with the Python3 version installed on your system:

$ python3 -m venv venv  

And activate it:

$ source venv/bin/activate

(sudo) pip install pelican markdown ghp-import

(venv)$ pelican-quickstart

generate the static files and start the server

(venv)$ make html && make serve  

Envoi du code sur github:

$ git add -A && git commit -a -m 'first commit' && git push --all  
$ make github  

Nota: n'oubliez pas de désactiver venv quand vous quittez votre espace de travail en local sur le blog Pelican. La commande:

$ deactivate

En ce qui concerne la maintenance, parfois après des mises à jours système, il est impossible de générer le blog Pelican, car les librairies et dépendances sont cassés. Il faut faire une install propre de venv, tout en gardant les données.

Pour changer les themes du blog et le fichier de configuration pelicanconf.py il y beaucoup de documentation en anglais sur internet. Il faut avoir des notions en Python.

Les articles de blogs sont à déposé dans le dossier /content à la racine du repo. Ou vous pouvez y ajouter egalement des images, pages et documents comme des PDF.

Il faut également une en-tête sur l'article de blog, sinon le générateur de site ne reconnait pas l'article, exemple:

Title:Propagande et stratégie de blog Pelican
Date: 2023-06-26 13:57
Category:Linux
Tags:Pelican
Authors: Anthony Le Goff
Summary: