~~NOCACHE~~
~~REVEAL theme=league&transition=convex&controls=1&show_progress_bar=1&build_all_lists=1&open_in_new_window=1~~
====== Bloggez avec Pelican ======
Philippe Wambeke - LoliGrUB (16 juin 2018)
===== Un blog, c'est quoi ? =====
Contraction des mots "web" et "log", un blog permet de partager du "contenu" sous forme de "billets" ("post" en anglais).
Ces billets sont présentés au lecteur du plus récent au plus ancien.
Tous les sujets peuvent faire l'objet d'un blog: jardinage, cuisine, logiciels libres, sport, mode, écologie, politique, ...
===== Et à quoi ca sert ? =====
C'est un moyen simple et bon marché d'exercer son droit à la liberté d'expression.
===== Comment blogger ? =====
Il existe 3 solutions pour devenir "blogger":
* La solution de "facilité": utiliser une plate-forme de blogging (Wix, Blogger, Tumblr, ...)
* Les usines à gaz: WordPress, Drupal, Joomla, ...
* Les générateurs de sites statiques: Pelican, Jekyll, Hugo, ...
==== La "facilité" =====
Malgré leur aspect flatteur (pas d'installation, pas de maintenance, pas de backup, ...), vous n'êtes pas le maître à bord, ce qui implique:
* le contenu du blog peut devenir inaccessible, payant, censuré, ...
* des pubs ou autres indésirables peuvent faire leur apparition sans votre accord
* comment se passe le changement de plate-forme ?
* contribue à la centralisation d'Internet
==== Les usines à gaz ====
Ces solutions sont souples et puissantes, mais:
* nécessitent d'autres composants (base de données, PHP, Ruby, ...)
* compliqués à installer et à maintenir
* compliqués à paramétrer et à backuper
* compliqués à utiliser
* constituent un grand vecteur d'attaque
* lourds à la fois côté serveur et côté client
==== Les sites statiques ====
Sous leur aspect "simpliste", ces solutions offrent de nombreux avantages:
* ne nécessitent pas (ou très peu) d'autres composants
* simples à installer et à maintenir
* simples à paramétrer et à backuper
* simples à utiliser (un éditeur de texte suffit)
* vecteur d'attaque quasi nul
* rapides et légers côté serveur (rpi) et client
==== Pelican ====
Pelican est un générateur de sites statiques spécialement dédiés aux blogs.
* Pas besoin de connaître HTML ou CSS: contenu rédigé en markdown ou reStructuredText
* Site généré 100% statique (très léger)
* Nombreux thèmes et plugins disponibles
* Supporte le multi-langues
* Supporte les flux RSS
* ...
===== Comment ça marche ? =====
Le principe est simple:
- on rédige son blog dans un format texte simple (markdown ou reStructuredText)
- on lance Pelican
- on obtient le site
==== Exemple de texte ====
Titre principal
###############
Un paragraphe avec du texte.
Titre
=====
Et ici, une liste à puces:
* élément de la liste
* autre élément de la liste
Sous-titre
----------
Sous-sous-titre
~~~~~~~~~~~~~~~
**Un texte en gras**
*Un texte en italique*
Un lien_
.. _lien: http://www.monlien.tld
Vous pouvez également faire des tableaux :
+--------+--------+
| Pays | Région |
+========+========+
| France | Europe |
+--------+--------+
| Japon | Asie |
+--------+--------+
==== Exemple de rendu ====
{{ ::pelican_sample.png?direct&400 |}}
===== Installation =====
L'installation est très simple:
* sur le serveur web: rien à faire
* sur le poste de travail: installer le paquet "python-pelican" (Debian) ou "pelican" (autres)
===== Allons y, bloggons ! =====
==== Étape 1: la création du blog ====
Une fois installé, la création d'un nouveau blog se fait à l'aide d'un simple:
pelican-quickstart
Ce qui crée l'arborescence suivante:
├── content
│ ├── ...
│ └── pages
│ └── ...
├── ...
├── output
├── pelicanconf.py
└── publishconf.py
==== Étape 2.1: la rédaction ====
Le contenu du blog se trouve dans le dossier `content`.
Il peut lui-même être organisé comme bon vous semble, la seule exception est le dossier "`pages`" qui contient autre chose que des billets.
Par exemple:
├── content
│ ├── arbustes
│ ├── bulbes
│ ├── example.rst
│ ├── matériel
│ ├── pages
│ │ ├── about.md
│ │ └── contact.md
│ ├── potager
│ └── vivaces
==== Étape 2.2: Le squelette d'un billet ====
:date: 2018-04-01
:tags: potager, plantations, saisons, recette
:slug: potager
:author: Moi
:summary: Ceci est le résumé ou une phrase d'accroche pour mon billet
Mon potager
###########
Que cultiver dans son potager ?
Qu'est ce qui est planté ?
==========================
Pour une fois, pas windows ;-)
==== Étape 3: la visualisation ====
Pelican permet d'avoir un aperçu exact du blog rafraîchi automatiquement au fil de vos modifications:
make devserver
Cette commande lance un serveur web local accessible à `http://localhost:8000`.
Pour l'arrêter:
make stopserver
==== Étape 4: La publication ====
Une fois satisfait, le blog est prêt à être publié via:
pelican -s publishconf.py
Il suffit ensuite de copier/coller tous les fichiers se trouvant dans le dossier "`output`" sur le serveur web.
===== Personnaliser son blog =====
Il est possible de personnaliser l'apparence du blog grâce:
* aux options contenues dans le fichier `pelicanconf.py' (voir http://docs.getpelican.com/en/stable/settings.html)
* aux nombreux thèmes: http://pelicanthemes.com/
* aux nombreux plugins: https://github.com/getpelican/pelican-plugins
===== Exemples et références =====
* Miss 300: https://miss300.be
* Blogging with Pelican: http://johnmathews.eu/pelican.html
* Utiliser Pelican comme moteur de blog: https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMF-184/Utiliser-Pelican-comme-moteur-de-blog
===== Merci =====
Questions ?