PROJET AUTOBLOG


De l’épice pour la pensée

Site original : De l’épice pour la pensée

⇐ retour index

 Recueil de citations

mardi 29 mai 2018 à 15:04

 Recueil de citations

A

Le sourire coûte moins cher que l'électricité, et il éclaire mieux.

Abbé Pierre

La violence est le dernier refuge de l'incompétence.

Isaac Asimov (Salvor Hadrin dans Fondation)

N'oubliez pas d'être un peu fêlé pour faire passer la lumière

Anonyme inconnu??

B

La patience est la plus grande des prières.

Bouddha

Le bonheur n'est pas chose aisée. Il est très difficile de le trouver en nous, il est impossible de le trouver ailleurs.

Bouddha

C

Je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur.

Coluche

La bonne longueur pour les jambes, c'est quand les pieds touchent par terre.

Coluche

Le personnage que nous jouons dans nos rêves se trouve en nous.

Cosey

Raconte-moi et j'oublierai, Montre-moi et je me souviendrai, Laisse-moi faire et je comprendrai.

Confucius

Nous avons deux vies, et la deuxième commence quand nous nous rendons compte que nous en avons une seule !

Confucius

L'ouvrier qui veut bien faire son travail doit commencer par aiguiser ses intruments

Confucius

La science est un jeu dont la règle du jeu consiste à trouver quelle est la règle du jeu.

Franà§ois Cavanna

La vraie générosité envers l'avenir consiste à tout donner au présent.

Albert CAMUS

La détermination est le facteur le plus important de la réussite

Lord CHERSTERFIELD

D

Allons-y!

The Doctor (Doctor Who)

You want weapons? We’re in a library! Books! The best weapons in the world

The Doctor (Doctor Who)

Sometimes the only choices you have are bad ones, but you still have to choose.

The Doctor (Doctor Who)

La seule certitude que j'ai, c'est d'être dans le doute.

Pierre Desproges

La magie, c'est choisir le rêve dans lequel on va se réveiller.

Jean-Claude DUNYACH

E

Ce qui m'intéresse, au fond, c'est de savoir si Dieu a eu le choix dans la création du monde.

Albert Einstein

C'est le rà´le essentiel du professeur d'éveiller la joie de travailler et de connaà®tre

Albert Einstein

Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.

Epicure

F

Tous les hommes se trompent, mais seuls les grands hommes reconnaissent qu'ils se sont trompés.

Fontenelle

G

Vi veri veniversum vivus vici. Faust (par le pouvoir de la vérité, j'ai, de mon vivant, conquis l'univers)

Goethe

C'est à§a aussi, les amis : des gens avec qui on peut rester silencieux.

David GEMMEL

Craignant la mort, comme tout le monde, comment pouvaient-ils si aisément l'infliger aux autres?

David GEMMEL

Si vous donnez une pièce d'argent à un pauvre, c'est un cadeau. Mais si vous attendez qu'il vous rembourse, cela devient un prêt. Nous ne prêtons pas notre amour, Lantern. Nous le donnons.

David GEMMEL

L'Arbre de la Connaissance porte les fruits de l'arrogance

David GEMMEL

Une fois, mon père m'a dit qu'un homme était béni entre tous s'il pouvait compter ses amis sur les doigts d'une main.

David GEMMEL

La science est un cadran qui marque l'heure du progrès accompli.

Émile de Girardin

H

Demain nous doit la somme de nos jours passés.

Robin Hobb, Les aventuriers de la mer

La question qui se pose pour les humains n'est pas de savoir combien d'entre eux survivront dans le système mais quel sera le genre d'existence de ceux qui survivront.

Frank Herbert, Le messie de Dune

Nos haines valent mieux lorsqu'elles ne quittent pas nos bouches

Frank Herbert, Le messie de Dune

Nous sommes éduqués à croire, et non à savoir. La croyance peut être manipulée. Seul le savoir est dangereux.

Frank Herbert, Le messie de Dune

C'est lorsque nous croyons savoir quelque chose qu'il faut justement réfléchir un peu plus profondément.

Frank Herbert, Le messie de Dune

Si les voeux étaient des poissons, nous lancerions tous des filets

Gurney Halleck (Frank Herbert)

L'inconnu est autour de nous à chaque moment. C'est là que tu dois rechercher la connaissance.

Paul Atréide (Frank Herbert)

Ne nous manque-t-il pas des sens qui nous permettent de voir et d'entendre cet autre monde qui est tout autour de nous?

Frank Herbert

Ne te trouve jamais en compagnie de quelqu'un aux cà´té de qui tu ne voudrais pas mourir. Diction Fremen

Frank Herbert

Ceux qui sont incapables de se souvenir du passé sont condamnés à le répéter. Santanaya.

Frank Herbert

Ouvrez une école, vous fermerez une prison

Victor Hugo

O๠finit le télescope, le microscope commence. Lequel des deux a la vue la plus grande?

Victor Hugo

C'est une triste chose de penser que la nature parle et que le genre humain n'écoute pas.

Victor Hugo

J

Les enfants ont plus besoin de modèles que de critiques.

Joseph Joubert

K

Quand un homme accomplit une chose extraordinaire, tout à fait hors de proportion avec sa nature, c'est, sept fois sur neuf, qu'il y a une femme. Quant aux deux exceptions, elles peuvent s'expliquer par une insolation.

Rudyard Kipling, His chance in life

Le temps est-il la roue qui tourne ou bien la trace qu'elle laisse?

L'énigme de Kelstar

L

à l'école, quand on m'a demandé d'écrire ce que je voulais être plus tard, j'ai répondu “heureux”. Ils m'ont dit que je n'avais pas compris la question, je leur ai répondu qu'ils n'avaient pas compris la vie.

John Lennon

Les statistiques, c'est comme le bikini. Ce qu'elles révèlent est suggestif. Ce qu'elles dissimulent est essentiel.

Aaron Levenstein

M

Être exigeant, c'est montrer de l'intérêt

André Maurois

N

If I have seen a little further it is by standing on the shoulders of Giants. Si j'ai vu un peu plus loin, c'est parce que je me tenais sur les épaules de géants.

Isaac Newton

O

Ris. Tout le monde rira avec toi. Pleure. Tu seras le seul à pleurer.

Citation du film Old Boy

Le passé était raturé, la rature oubliée et le mensonge devenait vérité.

George Orwell

P

Notre tête est ronde, pour permettre à la pensée de changer de directions.

Francis Picabia

R

À l'échelle cosmique, l'eau liquide est plus rare que l'or.

Hubert Reeves

S

Nous sommes de l'étoffe dont les rêves sont faits.

William Shakespeare

Nous avons tout juste assez de religion pour nous haïr, mais pas assez pour nous aimer les uns les autres.

Jonhathan Swift

Prétendre que votre droit à une sphère privée n'est pas important parce que vous n'avez rien à cacher n'est rien d'autre que dire que la liberté d'expression n'est pas essentielle car vous n'avez rien à dire.

E. Snowden

V

Il ne faut jamais juger les gens sur leurs fréquentations : Judas, par exemple avait des amis irréprochables.

Verlaine

Les détails font la perfection et la perfection n'est pas un détail

Léonard de Vinci

W

L'éternité, c'est long, surtout vers la fin.

Woody Allen

Le difficile prend du temps, l'impossible un peu plus.

H.Weismann

Quand les dieux veulent nous punir, ils exaucent nos prières.

Oscar Wilde

Expérience : nom dont les hommes baptisent leurs erreurs.

Oscar Wilde

Je préfère la radio à la télévision parce que l'écran y est plus grand.

Orson Wells

L'important ce n'est pas de convaincre, mais de donner à réfléchir.

Bernard Werber

Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis, ce que vous voulez entendre, ce que vous entendez, ce que vous croyez en comprendre, ce que vous voulez comprendre, et ce que vous comprenez, il y a au moins neuf possibilités de ne pas se comprendre. La communication est très difficile parce que nous sommes remplis de préjugés, parce qu'on comprend de travers, parce qu'on a des difficultés à s'exprimer et parce qu'on a des difficultés à écouter. Reste un énorme travail à faire; nous sommes à l'aube de la communication.

Bernard Werber

Proverbes

Offrir l'amitié à qui veut l'amour, c'est offrir du pain à qui meurt de soif.

Tu dis ton secret à ton ami, mais ton ami a aussi un ami. (proverbe turc)

Tout ce qui n'est pas donné est perdu (proverbe indien)

Celui qui pose une question risque cinq minutes d'avoir l'air bête, celui qui ne pose pas de question restera bête toute sa vie. Proverbe Chinois

Que celui qui n'a pas traversé ne se moque pas de celui qui s'est noyé. Proverbe Africain

Going to church does not make a person religious, nor does going to school make a person educated, any more than going to a garage makes a person a car.

Mise à jour de swx en version 0.6

dimanche 27 mai 2018 à 13:43

Mise à jour de swx en version 0.6

Afin de gérer mon site web, j'avais écrit swx. Je me suis penché à nouveau sur son code afin d'accorder plus d'importance au site plutôt qu'au blog. En effet, je délaissais son contenu. Dans cet article, je vais parler des changements apportés à swx.

Principe de fonctionnement

Pour rappel, swx est un ensemble de petits scripts shell permettant de fabriquer un site statique. Il ne doit pas dépendre d'outils ou de bibliothèques tierces, mis à part un éventuel convertisseur de langage markup (markdown, txt2tags, pandoc…).

Il va prendre pour argument un dossier contenant un site web et toute sa structure. Ce dossier et copié dans un répertoire avec l'extension “.static”, après avoir convertit les pages et inséré un menu de navigation.

D'autres scripts peuvent être lancés pour fabriquer un sitemap, un flux atom ou une page de type “blog”.

Le dossier final n'a plus qu'à être envoyé sur un serveur pour être accessible (ftp, sftp…)

Le tout s'utilise avec un fichier Makefile pour simplifier le processus.

Les modifications récentes

Dans cette nouvelle version, j'ai revu la logique de certains scripts, notamment pour la liste des nouvelles pages.

Ces changements n'ont pas été détaillés sur le dépôt. Je dois m'occuper de rédiger les pages de documentation auparavant… Par ailleurs, certains éléments sont propres à OpenBSD, il faut les tester sous GNU avant (commandes find, date et stat avec des options différentes).

Détection des changements

Au lieu d'utiliser rsync ou de copier tout le contenu du “dossier modèle”, swx va désormais comparer la date de modification des fichiers avec un fichier-repère créé automatiquement à la fin de chaque génération. Ce fichier est .swx.last et se trouve dans le dossier du site généré.

Pour refabriquer l'ensemble d'un site, il suffit de le supprimer.

Utilisation d'un template

Afin de personnaliser l'apparence des pages, l'utilisateur peut désormais utiliser un fichier modèle (template). Ce fichier ressemble à ceci :

<!doctype html>
<html lang="fr">
<head>
${_PAGETITLE_}
<link rel="icon" href="./media/fe2a0650.favicon.png" data-original-source="https://yeuxdelibad.net/favicon.png" type="image/png">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="/style.min.css">
<link href="/atom.xml" type="application/atom+xml" rel="alternate" title="Atom feed of yeuxdelibad.net" />
</head>

<body>
<header>
${_HEADER_}
<nav id="menubar">
${_NAVPATH_}
${_MENU_}
</nav>
</header>
<aside id="sidebar">
    <div class="tooltip">
        <a href="/atom.xml" class="icon">📰</a>
        <span class="tooltiptext">
            Flux ATOM pour s'abonner
        </span>
    </div> 
</aside>
<main>
<div id="article">
${_MAIN_}
</div>
</main>
<footer>
Le 
${_GENDATE_}
avec <a href="https://3hg.fr/Scripts/swx">swx</a>
</footer>
</body>
</html>

On remarque dans ce fichier des éléments comme ${_PAGETITLE_}. Il s'agit de variables qui seront remplacées par la fonction générant les pages. On remarquera notamment :

Ainsi, l'utilisateur peut plus facilement gérer l'apparence de ses pages.

Une nouvelle option fait son apparition si on souhaite changer la syntaxe désignant une variable. Il s'agit d'une expression régulière :

TOREPLACE='^\${_.*_}$'

Par défaut, ce sont les lignes commençant par $, suivies d'une accolade et d'un underscore, terminant par un underscore, accolade en bout de ligne.

Séparation du code

Les fonctions et variables communes à tous les petits scripts sont rassemblés dans un fichier swx.functions.

Création d'un flux atom

Au lieu d'un flux RSS, c'est le format ATOM plus rigoureux que je privilégie. Le script swx_atom va rechercher les fichiers les plus récents puis ajouter son contenu dans un fichier atom.xml.

Afin de trouver les fichiers plus récents, c'est find qui est utilisé :

Sous GNU :

RECENTS=$(find "${1}" -type f -name "*${EXT}" -print0 | xargs -0 stat --format '%Y :%y %n' | sort -nr | cut -d: -f2- | head -n "${MAX}")

Avec OpenBSD, c'est un poil plus court :

RECENTS=$(find "${1}" -type f -name "*${EXT}" -exec stat -f "%m %N" {} \; | sort -nr | head -n "${MAX}" | cut -d' ' -f2-)

Le nombre maximum d'entrées est définit avec la variable MAX présente dans le fichier de configuration.

Afin de savoir à quelle date la page a été créée pour la mettre dans le flux atom, on se sert de stat :

Sous GNU :

    UPDATED="$(date -ud @`stat -t ${i}|cut -f13 -d\ ` +%Y-%m-%dT%TZ)"

Avec OpenBSD :

    UPDATED=$(date -ur $(stat -f %m "${i}") +%Y-%m-%dT%TZ)

Gestion d'une page de nouveauté

Afin d'utiliser swx comme moteur de blog, j'ai voulu améliorer cet aspect. Un script swx_blog est capable de détecter les fichiers les plus récents avec find.

Ces fichiers sont analysés pour en retirer le titre (première ligne) et le lien.

Deux nouvelles options font leur apparition pour la suite :

NEWSSTR="%%%BLOOOOG%%%"
NEWSPAGE="/index.md"

La première correspond à un bout de texte que l'on met dans une page et qui sera remplacé par la liste des nouveautés. La seconde correspond à la page du site qui servira d'entrée dans le blog, et qui contient justement le bout de texte précédent.

swx_blog va convertir cette page et remplacer $NEWSSTR par une liste de lien vers les nouvelles pages.

J'ai hésité à inclure directement le contenu des pages en utilisant les balises <summary> et <details>, mais pour l'instant ça me convient ainsi.

Autres changements

Ci et là des corrections de bugs et amélioration de syntaxe. Les variables sont protégées, et normalement le tout doit tourner sur les systèmes de type UNIX.

Démonstration ?

Ce site 😁

Sinon, j'utilise ce fichier Makefile pour générer l'ensemble de mon site écrit en markdown :

SOURCEDIR=/home/xavier/Documents/site/epicededune/Rendez-vous_sur_Arrakis/
DESTDIR=/home/xavier/Documents/site/epicededune/Rendez-vous_sur_Arrakis.static/

all:
    @echo "Generate website"
    @./swx $(SOURCEDIR)
    @echo "Remove .swp"
    @find $(DESTDIR) -name '*.swp' -exec rm '{}' \;
    @echo "Generate sitemap and gzip it"
    @./swx_sitemap  $(DESTDIR) > $(DESTDIR)/sitemap.xml
    @gzip --best -c $(DESTDIR)/sitemap.xml > $(DESTDIR)/sitemap.gz
    @echo "Generate website plan"
    @./swx_plan $(DESTDIR) > $(DESTDIR)/Divers/Plan_du_site.html
    @echo "Generate atom feed"
    @./swx_atom $(SOURCEDIR) > $(DESTDIR)/atom.xml
    @echo "Generate blog news entry"
    @./swx_blog $(SOURCEDIR) 
clean:
    rm -rf *.static
force:
    rm $(DESTDIR)/.swx.last
    make all
regen:
    find Rendez-vous_sur_Arrakis -name *.md -exec touch {} \;
    make all
serve:
    sleep 1 && surf http://localhost:8000 &
    cd $(DESTDIR) && python3 -m http.server 

Un make serve me permet de voir mon site dans un navigateur après avoir généré le tout avec make. Un rsync avec un tunnel SSH envoie le tout sur mon serveur sous OpenBSD bien sûr ☺️.

Et ça ressemble à ça :

$ make
Generate website
> Load configuration
> Prepare output directory
> Generating html pages and copying files
[##################################################] 4/4

> Done! :)
Remove .swp
Generate sitemap and gzip it
Generate website plan
Generate atom feed
Generate blog news entry

Encouragements et Contact

dimanche 27 mai 2018 à 11:19

Encouragements et Contact

Encouragements

Ce site vous plaît? Vous voulez m'encourager? Comment me soutenir?

Contact

Pour me contacter, c'est possible :

À propos

Licence Creative Commons

Rendez-vous sur Arrakis de Xavier Cartron est mis à disposition selon les termes de la licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International.

Fondé(e) sur une œuvre à http://yeuxdelibad.net.

Encouragements et Contact

samedi 26 mai 2018 à 17:28

Encouragements et Contact

Encouragements

Ce site vous plaît? Vous voulez m'encourager? Comment me soutenir?

Contact

À propos

Licence Creative Commons

Rendez-vous sur Arrakis de Xavier Cartron est mis à disposition selon les termes de la licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International.

Fondé(e) sur une œuvre à http://yeuxdelibad.net.

Bienvenue sur mon blog

samedi 26 mai 2018 à 12:59

Bienvenue sur mon blog

Cette section du site fait office de blog. Si vous ne voulez pas manquer une information, abonnez-vous au flux atom.