PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

jesuislibre : Créer son blog statique avec rstblog

mercredi 6 mars 2013 à 01:00

Après plusieurs recherches, je pense avoir trouvé mon moteur de blog, il se nomme rstblog, créé par Armin Ronacher, également auteur de Flask. Auparavant pour certains de mes autres sites, j'utilisais un CMS+Blog statique qui se nommait GetSimple. Mais allez savoir pourquoi, malgré la qualité de cette application web, je n'ai pas accroché ! Pendant mes recherches sur une alternative à Django, je suis tombé sur l'auteur de Flask qui a lui-même conçu son blog avec rstblog (normal me direz vous, il en est l'auteur :) )

rstblog c'est quoi

rstblog est un blog statique qui utilise la syntaxe rst (reStructuredText), celle-ci est sensiblement identique aux syntaxes wiki. Pourquoi avoir choisi rstblog ? Les raisons sont les suivantes :

  • Sa simplicité et sa légèreté, on ne peut plus simple. L'écriture des billets se fait avec un simple éditeur de texte, pour ma part j'utilise emacs.
  • Du full statique, pas de code exécuté sur le serveur (contrairement à GetSimple).
  • Le générateur est en Python, ça tombe bien, j'aime ce langage :)
  • Couplé avec git on peut d'une part historiser l'évolution du blog, mais également s'en servir comme outil de sauvegarde.

Installation

Afin d'éviter d'avoir des conflits avec des scripts python, j'ai pris l'habitude de créer un environnement virtuel, je vais donc créer un espace virtuel dédié pour rstblog

mkvirtualenv --no-site-packages -p python2.7 rstblog
pip install pyyaml babel blinker docutils jinja2 werkzeug pygments

Initialisation du blog

cd votre_blog
mkdir -p {static,_templates,2013/3/3}

wget -O static/style.css "https://raw.github.com/badele/blog.jesuislibre.org/master/static/style.css"
wget -O _template/layout.html "https://raw.github.com/badele/blog.jesuislibre.org/master/_templates/layout.html"

nano config.yml

active_modules: [pygments, tags, blog]
author: Bruno Adele
canonical_url: http://blog.jesuislibre.org/
feed:
  name: Famille de geeks
  subtitle: Une famille complètement geek
modules:
  pygments:
    style: tango

Je crée ensuite une arborescence qui devrait ressembler au schéma ci-dessous.

blog.jesuislibre.org
├── 2013
│   ├── 2
│       ├── 19
│       │    ├── test-unitaire-automatise-lors-dun-push-sur-github.rst
│       │
│       └── 26
│            ├── decouverte-de-lenvironnement-arduino.rst
├── 2009
│   ├── 5
│       ├── 20
│            ├── naissance-dun-geek.rst
│            ├── export-vos-donnees-de-kphotoalbum-vers-iptc.rst
│            ├── generer-un-schema-xsd-depuis-un-fichier-xml.rst
│
│
├── a-propos.rst
├── config.yml
└── _templates
    └── layout.html

Pour faciliter mes tâches répétitives, notamment le commit sur github ainsi que l'upload sur le serveur., je crée donc un Makefile.

clean:
  rm -rf _build

build:
      run-rstblog build

serve:
      run-rstblog serve

push:
      git push github master

upload:
      rsync -a _build/ votrecompte@votreserveur:/home/votrerepertoire/
      @echo "Done..."

Votre installation est maintenant terminée, il ne vous reste plus qu'à créer vos billets, comme cité plus haut, pour cela, j'utilise le couple Emacs + rest mode

/static/emacs_rst_mode.png

Exemple de process pour la publication d'un billet.

cd votre_blog
workon rstblog
emacs 2013/3/3/votre_billet
make build serve # Pour tester votre blog avant publication sur localhost:5000
git commit
make clean build upload push # Pour upload sur votre serveur ainsi que sur github

En espérant que cela donnera aux indécis l'envie de passer le cap :)

Gravatar de jesuislibre
Original post of jesuislibre.Votez pour ce billet sur Planet Libre.

Articles similaires

François : wiki versionné avec git

mardi 5 mars 2013 à 20:17

Dans la vie numérique, j’aime git et j’aime les wiki que ce soit pour un usage collaboratif ou personnel.

Celles et ceux d’entre vous qui me suivent savent que j’utilise zim afin de conserver mes notes privées ou n’ayant aucun intérêt à être divulguées. Zim se définit comme un wiki de bureau.

Il se trouve que je viens d’avoir un nouveau besoin : répertorier des petits bouts de code présentant des syntaxes ou des usages de bibliothèques que j’ai cherché au moins une fois. Zim ne propose pas de coloration syntaxique pour ça et la demande de colorisation de texte est un bug ouvert (d’après mon souvenir).

Bref, toujours curieux, toujours prêt à tester de nouvelles solutions, je me suis mis à chercher des wikis en ligne avec git comme gestionnaire de version. En effet, je veux retrouver les avantages que j’ai avec Zim à savoir :

Ce dernier point étant important, car si mon serveur tombe ou si je n’ai plus de moyen de me connecter, je veux toujours accéder à mes données.

J’ai trouvé et testé deux solutions. Il en existe peut être d’autres qui m’ont échappé. La première se nomme gitit. C’est codé en haskell, ca ressemble beaucoup à mediawiki. L’installation sur un serveur debian s’est passée sans encombre à l’aide du paquet fourni et de la doc. J’ai été vraiment séduit à l’usage notamment par le support de différents langages de balisage léger, l’export dans N formats (epub, pdf, tex et j’en passe), c’est pandoc qui est derrière, donc du costaud. A noté aussi le support mathml et la possibilité de faire des slides en html5 (j’ai trouvé ça génial).
J’ai été déçu quand je me suis rendu compte que le support coloration syntaxique demandait de recompiler le logiciel (sauf si j’ai raté quelque chose, le paquet debian ne semble pas avoir ce support). ce n’est pas insurmontable, mais sur le coup, je n’ai pas eu envie.

Retour moteur de recherche et je suis tombé sur ikiwiki. Après un coup de ménage sur le serveur, j’installe donc ce palindrome. Là aussi, paquet + doc rendent ça très facile. Au passage, heureusement que les lib perl sont empaquetées, il y en a une belle quantité.
Je n’ai pas pris l’installation manuelle, la version « automatique » + ajustement ultérieur m’a semblé suffisant. L’interface par défaut est moins sexy que gitit, mais on peut trouver quelques css. Il existe aussi une foule de greffons dont un qui gère des refs via bibtex. Pas encore testé, mais ça m’intéresse grandement. Coté fonctionnalité, j’ai presque l’impression que c’est le négatif que gitit. J’aimerai voir tous les avantages que j’ai cité dans gitit chez ikiwiki. Notamment, pas de mathml mais un greffon qui fait du dvipng :(
Ikiwiki fait un build des pages grâce à un hook git, donc dès que vous poussez votre version, ça reconstruit un html statique à partir du (des) fichier(s) modifié(s) servi par votre serveur web. Etant donné les langages et le plus grand nombre de greffons, ikiwiki remporte mon intérêt. En effet, je peux coder un peu en perl et j’ai vu qu’il est possible de coder des greffons en python.

Une remarque importante est que ikiwiki peut être utilisé comme un blog statique. J’ai remarqué qu’un certain nombre d’auteurs retournait sur ce genre de solution après une expérience de CMS comme wordpress. Il est vrai que la légèreté (important pour les lecteurs aux faibles débits et les auto-hébergés) et l’atout rédactionnel déporté sont intéressants. L’intérêt que je verrai à ikiwiki pour cet usage serait les commentaires gérés sans service externe (cf ce blog à titre d’exemple).

Même si je n’ai pas encore rendu Zim, je me rend compte que ikiwiki serait plus adapté à mes usages. Zim m’aide beaucoup en tant que wiki, mais peu en terme d’utilisation et de fonctionnalité. Je n’aime pas l’éditeur d’équation, l’import d’image ou l’absence de support syntaxique.

Si certain(e)s ont un expérience dans ce domaine, je suis preneur ; autrement je vous laisse décrouvrir :)


Gravatar de François
Original post of François.Votez pour ce billet sur Planet Libre.

Philippe Scoffoni : Application métier libre, la prochaine étape ? (Partie 3/3)

mardi 5 mars 2013 à 09:13

Nous voici arrivés au troisième et dernier volet de cette série d’articles sur les logiciels libres métiers. Retrouvez les deux premiers articles de cette série :

Si l’approche par la mutualisation des moyens des utilisateurs (pas des « clients ») semble pertinente pour l’avenir du logiciel libre, il n’en demeure pas moins qu’elle porte aussi en elle une part de risque de dérive.

chardonLe risque de la mutualisation

Nous avons vu qu’il existe différents statuts possibles. Pour chacun il existe un premier risque commun : la dominance d’un acteur sur le projet. Cette dominance peut s’exprimer de diverses façons. Mais la principale revient à être dépendant du bon vouloir de celui qui paie.

Dire qu’il suffit de mutualiser pour arriver à trouver des moyens est un raccourci qui masque bien des difficultés. Tout d’abord celle de se mettre d’accord sur les évolutions à apporter et faire adopter ce cahier des charges à l’ensemble des acteurs. Tous les acteurs ne sont pas égaux en terme de capacité d’investissement. Si un « gros » vient à refuser son concours financier, la demande aussi pertinente soit elle ne sera pas prise en compte.

A l’inverse, le plus gros acteur va faire avancer le projet dans le sens qui lui convient et qui n’est pas forcément celui de l’intérêt général. On retombe donc finalement dans les travers connus des autres modèles. Que ce soit celui de l’éditeur ou de la communauté d’industriels. Cette dominance est-elle inéluctable ?

Quelle parade ?

Il serait possible de s’en arrêter là et de dire que c’est le système qui veut que le plus fort l’emporte toujours. Parfois (souvent ?) au détriment de l’intérêt général. Une approche qui tendrait à rendre nécessaire l’existence d’un tiers entre ceux qui financent et ceux qui réalisent. Un tiers dont l’indépendance peut être réelle.

Le logiciel libre est un bien d’intérêt général. Il lui faut donc être porté par des structures qui ne sont pas gouvernées par des intérêts particuliers. J’en reviens toujours là, mais mis à part les associations ou fondations, je ne connais pas vraiment d’autres statuts qui s’y prêtent, mis à part peut-être certaines formes de coopératives.

La gouvernance de cette association à but non lucratif devient alors le centre de la problématique. Elle doit permettre d’arbitrer entre les demandes des utilisateurs et de répartir les fonds disponibles sur les actions les plus porteuses, indépendamment du poids de ceux qui financent. Pas évident, mais indispensable. Cela sous-entend que la mutualisation des moyens financiers doit se faire indépendamment et en amont des demandes des utilisateurs.

Il faut que l’association porte un projet suffisamment vaste pour que toutes sortes d’acteurs économiques puissent trouver leur intérêt. Il faut que le financement ne puisse être corrélé en aucune façon avec un objectif. Sinon cela revient à payer une prestation et donc à créer un lien de « pouvoir » entre l’argent donné et le « produit » résultant. A ce jour seul le mécénat impose juridiquement une telle séparation.

Mais le mécénat ne peut être qu’un moyen de démarrer un projet et ne peut-être une source pérenne. L’arrêt d’un financement, l’unicité du mécène ou de la source de revenus peuvent conduire à une situation « mozillienne » (en référence à Mozilla et son unique source de revenu : Google). Situation où l’indépendance des décisions peut être mise en doute. Il faudra que cette structure de mutualisation ait donc également ses propres revenus les plus diversifiés possible pour conserver son indépendance.

Est-ce à dire que ce genre de projet est impossible à monter ? Je ne le pense pas, mais cela sera forcément difficile, car perçu comme trop ambitieux. Mais une ambition indispensable pour atteindre cette masse critique qui fait qu’un jour les signes se décident tous à enfin arrêter de manger des patates sales. Des patates propres c’est quand même plus agréable en bouche. Mais voilà, il faut une bonne centaine de singes et c’est un chiffre difficile à atteindre à notre époque.

Merci à david96 qui nous a signalé cette excellente fable sur la théorie du centième signe et qui me permet de conclure cette série d’articles.

Post-scriptum :Cette série d’articles finit sur une conclusion qui nous renvoie encore une fois au modèle de développement élaboré et mis en œuvre par Meza|Lab.

Image sous licence CC0


Réagir à cet article

Article original écrit par Philippe Scoffoni le 05/03/2013. | Lien direct vers cet article

Cette création est mise à disposition sous un contrat Creative Commons BY à l'exception des images qui l'illustrent (celles-ci demeurent placées sous leur mention légale d'origine).

.

Gravatar de Philippe Scoffoni
Original post of Philippe Scoffoni.Votez pour ce billet sur Planet Libre.

Antistress : Débuter : Essayer un système libre GNU/Linux sans rien installer !

mardi 5 mars 2013 à 01:33

Bébé habillé d'un body Tux

Comme je vous le confiais dans mon précédent billet intitulé « Essayer les Logiciels Libres sous Windows/MacOS ! », grâce aux logiciels libres multi-plateformes tels que Firefox, VLC, LibreOffice, GIMP etc., qui fonctionnent aussi bien sur un système Windows, MacOS ou GNU/Linux, il est à la fois relativement facile et très tentant de passer à un système d'exploitation entièrement libre et gratuit comme ceux de la famille GNU/Linux (lire à ce sujet : « Qu'est-ce qu'une distribution GNU/linux ? ») puisque vous êtes assurés de retrouver vos logiciels habituels.

Certes chaque système d'exploitation a sa propre logique, mais si vous savez passer de l'interface de votre système Windows ou MacOS à celle de votre smartphone, vous n'aurez guère plus de difficultés à utiliser l'interface fournie avec la distribution GNU/Linux que vous aurez choisie.

Reste à s'assurer de la bonne prise en charge de votre matériel avant de franchir le pas. En effet, beaucoup de pilotes sont développés avant tout pour Windows, le système dominant, et il est possible que certains matériels rares ne soient pas pris en charge par d'autres systèmes moins répandus comme GNU/Linux voire MacOS.

Heureusement les systèmes GNU/linux offrent à peu près tous une fonction très pratique : la possibilité de les essayer sans les installer, en démarrant l'ordinateur à partir d'un CD, DVD, clé USB ou tout autre support amovible.

Comment ça marche ?

Un fichier ISO prêt à graver sur CD ou DVD...

Concrètement le système d'exploitation prêt à être exécuté (comme lorsqu'il est installé sur un disque dur) est tout entier empaqueté dans un fichier de type ISO (voir les liens donnés plus bas) que vous n'avez qu'à graver sur un CD ou DVD comme tout fichier de ce type avec votre logiciel de gravure habituel.

... ou sur clé USB

Vous pouvez aussi installer ce fichier sur une clé USB en utilisant un logiciel dédié, par exemple le logiciel libre multi-plateforme UNetbootin. C'est la solution que je préconise, car la clé USB contient une mémoire électronique bien plus rapide et réactive qu'un disque optique CD ou DVD. S'agissant de faire fonctionner un système d'exploitation complet avec ses logiciels, l'expérience n'en sera que plus fluide et agréable.

Configurer l'ordre de lecture de vos périphériques au démarrage

Dans tous les cas il vous faudra ensuite redémarrer l'ordinateur pour que celui-ci se lance à partir de la clé USB ou du CD/DVD plutôt qu'à partir de votre disque dur. Vous aurez pour cela peut être à modifier l'ordre de lecture des périphériques par votre ordinateur au démarrage afin que la clé USB ou le CD/DVD soit lu en premier, sinon votre ordinateur démarrera s'en sans soucier, comme à l’accoutumée.

La modification se fait dans le BIOS de votre machine auquel on accède en maintenant une touche appuyée pendant le démarrage (en général F2 ou F11 – dans mon cas F11 me permet de choisir sur quel support démarrer sans entrer dans le BIOS : pratique et sans risque). Attention, ne modifiez pas le BIOS si vous ne savez pas ce que vous faîtes ou votre machine pourrait ne plus démarrer.

Exemples de fichiers ISO

Quelques fichiers ISO, afin de tester différentes interfaces (voir les captures d'écran en fin de billet) :

Version 32 ou 64 bits ?

Vous remarquerez que les fichiers ISO existent souvent en deux versions : 32 ou 64 bits. En effet alors que les processeurs les plus anciens ne savent interpréter que le code 32 bits, les plus récents savent interpréter également le code 64 bits. Pour savoir si votre processeur est capable de décoder des instructions 64 bits, consultez la base de données du fabriquant de votre processeur : ici pour Intel (regardez s'il y a la ligne « Jeux d'instructions : 64-bit »), là pour AMD (regardez s'il y a la ligne « Mode de fonctionnement 64 bits : Yes »). Dans le doute, choisissez la version 32 bits puisqu'elle pourra être lue dans tous les cas.

Et ensuite ?

Si cela vous plaît, sachez que vous aurez la possibilité d'installer la distribution GNU/Linux en plus de votre système habituel si vous ne souhaitez pas le remplacer : les distributions GNU/Linux sont en effet conçues pour pouvoir cohabiter avec d'autres systèmes (Windows, MacOS, une autre distribution GNU/Linux...). À chaque démarrage de votre ordinateur, vous aurez alors un écran de choix du système à lancer (et la possibilité de demander le lancement de l'un d'eux par défaut).

Enfin, des bénévoles organisent régulièrement des événements appelés « install parties » : il vous suffit alors d'y apporter votre PC et ils vous aident à installer une distribution GNU/Linux. Un bon moyen pour ne pas se tromper !

À retenir :

Quelques captures d'écran pour finir :

KDE 4.8
Interface KDE 4.8

Unity 12.10
Interface Unity 12.10

GNOME 3.8
Interface GNOME 3.8

Gravatar de Antistress
Original post of Antistress.Votez pour ce billet sur Planet Libre.

Antistress : Débuter : Essayer les logiciels libres sous Windows/MacOS !

mardi 5 mars 2013 à 01:32

Bébé habillé d'un body Tux

Je parle à longueur de billets et de podcasts de logiciels libres... Vous trouvez tout ça un peu théorique ? Vous voulez voir concrètement à quoi ça ressemble ? Rien de plus simple !

Vous êtes utilisateur d'un système d'exploitation non libre comme Windows ou MacOS : rien ne vous empêche d'installer et d'utiliser des logiciels applicatifs libres pour votre système d'exploitation habituel.

Ça a d'ailleurs été ma démarche puisque j'ai été utilisateur de Windows, de 95 à XP, en passant par 98 et 2000.

Sur ces systèmes, j'ai installé et utilisé des logiciels libres et gratuits comme le navigateur Web Firefox, le lecteur multimédia VLC, la suite bureautique LibreOffice (ici le site en français), l'utilitaire de compression 7zip, mais aussi le logiciel de messagerie Thunderbird, le logiciel de retouche d'images GIMP...

Je me suis alors rendu compte, un beau jour, que tous les logiciels qui faisaient mon quotidien existaient sur GNU/Linux, un système d'exploitation lui-même libre.

En effet, tous les logiciels pré-cités (à l'exception de 7zip, mais rassurez-vous il y existe des équivalents sous GNU/Linux) sont multi-plateformes, c'est à dire qu'ils tournent aussi bien sur un système Windows, MacOS ou GNU/Linux.

C'est ainsi que j'ai pu assez facilement passer de Windows à GNU/Linux et avoir un environnement logiciel complètement libre (du système d'exploitation aux logiciels applicatifs) puisque je retrouvais les mêmes applications auxquelles j'étais habitué sur mon nouvel environnement.

Au final, j'ai réalisé que le système d'exploitation lui-même n'avait plus beaucoup d'importance à mes yeux, pourvu qu'il soit stable, performant et prenne en charge mon matériel. Les habitudes d'utilisation résultaient directement des logiciels applicatifs et non du système d'exploitation, et je savais que je pourrais conserver mon environnement logiciel en passant sur un système GNU/Linux.

Tout ce qu'il me restait à faire était de vérifier la bonne prise en charge de mon matériel et alors je gagnerai quelque chose que ni Windows ni MacOS ne pouvaient me procurer : un système entièrement libre au service de l'utilisateur.

Un conseil à ce sujet : si vous envisagez de changer de système d'exploitation et que vous vous apprêtez à mettre à jour votre PC, profitez-en pour vous assurer, au moyen d'une recherche sur le Web, que les composants que vous envisagez d'acheter sont bien supportés sous Linux. Toutes les marques ne jouent pas le jeu également et votre migration en sera d'autant facilitée le jour venu.

Pour aller plus loin :

À retenir : privilégiez les logiciels libres multi-plateformes : ils vous permettront de passer facilement d'un système d'exploitation à un autre !

Prochain billet : « Débuter : Essayer un système libre GNU/Linux sans rien installer ! ».

Gravatar de Antistress
Original post of Antistress.Votez pour ce billet sur Planet Libre.