Planet Libre

Journal du hacker : Liens intéressants Journal du hacker semaine #21

Pour la 21ème semaine de l'année 2018, voici 12 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker ou bien dans les commentaires de ce billet :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Articles similaires

Carl Chenet : Newsletter du Courrier du hacker : archives, RSS, Mastodon et Twitter

Suite à ma dernière dépêche sur LinuxFR à propos du Courrier du hacker, la newsletter résumant l’actualité hebdomadaire francophone du Logiciel Libre et Open Source, j’ai reçu de bonnes remarques sur l’accès à la newsletter qui pourrait être améliorée. J’ouvre donc l’accès aux archives via le web que je vais enrichir peu à peu, j’ai également créé un flux RSS, un compte Mastodon et un compte Twitter.

E-mail Submit

En effet j’aime beaucoup le format newsletter qui présente selon moi plusieurs caractéristiques qui me plaisent :

  • arrive directement dans mes e-mails
  • je peux consulter les titres immédiatement, lire le contenu plus tard
  • contenu dense et sélectionné (deux fois dans le cas du Courrier du hacker)
  • je peux joindre l’auteur de la newsletter en répondant à l’e-mail, si besoin

Mais il est tout à fait compréhensible que d’autres personnes ne partagent pas ce point de vue et préfère consulter leur flux RSS, via Mastodon ou Twitter. Il est dommage de priver un lecteur potentiel de sa lecture juste pour un problème de format de média.

Archives du Courrier du hacker

Les archives étaient jusqu’ici accessibles via le prestataire de newsletters Mailchimp. J’ai décidé de constituer des archives externes afin qu’un problème lié à ce prestataire n’entraîne pas la perte de ses archives. De plus j’aurai davantage de contrôle en hébergeant moi-même ces archives.

Flux RSS du Courrier du hacker

La constitution progressive des archives (ça représente un peu de boulot de reprendre les 37 numéros actuels) permet maintenant d’offrir un flux RSS avec les différents numéros du Courrier du hacker.

Le flux RSS du Courrier du hacker : https://lecourrierduhacker.com/rss

Compte Mastodon du Courrier du hacker

Conséquemment à la disponibilité d’un flux RSS, offrir un compte Mastodon pour relayer la disponibilité des différents numéros du Courrier du hacker dans les archives devient simple, grâce par exemple à un outil comme Feed2toot. J’ai donc profité de l’instance mise à disposition par les amis de Framasoft, Framapiaf (merci à eux).

Le compte Mastodon du Courrier du hacker : https://framapiaf.org/@lecourrierduhacker

Compte Twitter du Courrier du hacker

Inutile de se voiler la face, un très grand nombre de Libristes fréquente Twitter.  L’effort à fournir pour être présent sur ce réseau étant très faible grâce à un bot comme Feed2tweet, j’ai mis en place un bot pour être présent sur ce réseau social.

Le compte Twitter du Courrier du hacker : https://twitter.com/courrierhacker

Pour la suite

Le Courrier du hacker propose un contenu de grande qualité, qui a trouvé rapidement son public au format newsletter. Nous souhaitons le rendre davantage accessible en mettant à disposition les archives et les nouveaux comptes Mastodon et Twitter.

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

Articles similaires

Thuban : Mise à jour de swx en version 0.6

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 :

${_PAGETITLE_} ${_HEADER_} ${_NAVPATH_} ${_MENU_} 📰 Flux ATOM pour s'abonner ${_MAIN_} Le ${_GENDATE_} avec swx

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 :

  • ${_PAGETITLE_} : Le titre de la page
  • ${_HEADER_} : Le contenu de l'entête (titre du site…)
  • ${_NAVPATH_} et ${_MENU_} : Le menu de navigation et listant les pages.
  • ${_MAIN_} : Le contenu de la page rédigé par exemple en markdown.
  • ${_GENDATE_} : La date où la page est générée.

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 et , 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

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

Miamondo : Automatiser la mise en page d’un roman grâce à un script Python

Bonjour, Aujourd'hui, je vais vous prouver que la paresse a des vertus insoupçonnées car c'est elle qui nous pousse à nous creuser les méninges pour en faire le moins possible. Je suis actuellement en train de corriger les derniers chapitres d'un roman intitulé  On ira tou·te·s au Paradis. Si vous cliquez sur ce lien, vous accédez... Lire la suite →

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

Articles similaires

Thuban : Encouragements et Contact

Encouragements et Contact Encouragements

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

  • Vous pouvez passer par liberapay :
  • Réaliser un virement bancaire. Cette solution est sans frais et ne passe pas par un service tiers. Envoyez un courriel pour demander mes coordonnées.
  • En envoyant votre recette favorite, un livre que vous avez bien aimé, ou un simple merci à cette adresse. À votre imagination de choisir ☺.
  • Vous trouverez une liste d'envies ici.
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.

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

Thuban :  Blog statique, bye bye Blogotext

 Blog statique, bye bye Blogotext

Après 8 ans d'existence, mon blog sera désormais “statique” et disponible à l'adresse https://yeuxdelibad.net/Journal. Vous pouvez en suivre les nouveautés avec n'importe quel lecteur de flux grâce au flux atom.

Ce “déménagement” a lieu pour plusieurs raisons :

  • Besoin de changement et de simplicité.
  • Envie de rapidité.
  • Le développement de Blogotext est au ralenti, j'avais besoin de m'occuper.
  • Blogotext me servait avant tout pour les commentaires. Vu la teneur des messages, un lien pour m'envoyer un mail sera suffisant, j'ajouterai les liens à la main. Si c'est trop contraignant, rien ne m'empêche d'ajouter Hashover.
  • C'est censé me forcer à publier moins impulsivement.

J'aime toujours autant Blogotext et continue de l'utiliser sur d'autres blogs. Mais avoir un site statique présente des avantages certains :

  • C'est vachement plus rapide.
  • J'utilise les outils d'édition que je veux, et organise mes documents tranquilou.
  • Niveau sécurité, on peut difficilement faire plus sûr sans PHP.
  • La gestion des commentaires “spam” est encore plus simple. Quoi que, il faut l'avouer, j'ai dû être embêté 5 fois maximum en 8 ans de blog…
  • J'aime l'idée de la simplicité.

Ça m'a permis de remettre le nez dans le code de swx, le générateur de site statique, mais j'en reparlerai dans un autre billet.

Grâce à Blogotext, j'ai pu exporter tous mes articles et commentaires au format json. Après un peu de bidouille en python, j'ai pu recréer tout le contenu afin de faciliter les redirections de l'ancien blog vers le nouveau.

Ensuite, un peu de CSS pour l'apparence, du javascript pour rigoler et ça suffira bien.

Pour ceux qui veulent continuer à lire mes bafouilles, n'oubliez pas de vous abonner au nouveau flux atom.

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

blog-libre : Lignux

Au détour d’une promenade sur le net, j’ai vu quelques personnes pousser à l’adoption du mot LiGNUx à la place de GNU/Linux. Ça m’a fait marrer… puis je me suis rendu compte que c’était une putain de bonne idée. Je me voyais déjà défendre fièrement cette prodigieuse idée dans un article.

Comme j’aime les mots et que je creuse les choses à l’occasion de la rédaction d’un article, j’ai découvert qu’il y avait une page Wikipédia consacrée à la controverse Linux ou GNU/Linux. C’est énorme, il y a des arguments en faveur de chacun des deux usages mais surtout :

En mai 1996, Richard M. Stallman sort la version 19.31 d’Emacs, changeant le système cible « Linux » en « Lignux », en arguant qu’il donne ainsi sa pleine légitimité au projet GNU, d’où découlent les termes « système Linux basé sur GNU », « système GNU/Linux » ou « Lignux » se référant à la combinaison du noyau Linux et le système GNU. Richard M. Stallman arrêta finalement d’utiliser le terme « Lignux » pour ne plus utiliser que celui de « GNU/Linux ».

C’est dingue ce qu’on apprend sur le net, enfin quand on cherche à apprendre… Je trouve Lignux bien plus pertinent que GNU/Linux, plus simple à écrire, indissociable, mieux associé et imbriqué. Si j’avais su.

La majorité du temps, j’essaie de mettre GNU/Linux. Je suis seulement convaincu qu’une majorité de distribs doit autant au projet Linux qu’au projet GNU et qu’on a tendance à minimiser voire oublier le second. Simple question de respect et de responsabilité. Je n’irai pas ennuyer les gens car ils disent Linux, c’est la liberté de chacun d’utiliser le mot qu’il souhaite.

Voilà pourquoi vous ne me verrez plus utiliser le mot GNU/Linux mais Lignux ha ha ha !

Gravatar de blog-libre
Original post of blog-libre.Votez pour ce billet sur Planet Libre.

Thuban : swx - static site generator

swx - static site generator

swx is now here : swx.

This page in french

swx is a tool to generate a static website from a file tree written in [markdown http://daringfireball.net/projects/markdown/syntax], [txt2tags http://txt2tags.org/] or any other markup language.

It does'nt require any other tool except usal commands (cp, sed…) and the markup parser.

Inspired by sw, swx will generate you html pages, create links between them in a menu. You cas use simple css and templates that will be included in your pages.

Features
  • Convert markdown to html
  • Add menu between pages
  • Ignore some files in a blacklist
  • Generate a rss feed : see swx_rss
  • Generate a blog page. For comments, use [Hashover http://tildehash.com/?page=hashover] or Disqus.
  • Generate a site map see swx_plan
  • Generate a sitemap for web indexers see swx_sitemap
  • Use a Makefile to simplify the site generation see Makefile

Example : source tree

/home/user/site/ |style.css |--------------directory/ |-----------------------index.md |-----------------------file1.md |-----------------------image.jpg |--------------directory2/ |-----------------------index.t2t |-----------------------article.md

will become in output

/home/user/site.static/ |style.css |--------------directory/ |-----------------------index.html |-----------------------file1.html |-----------------------image.jpg |--------------directory2/ |-----------------------index.html |-----------------------article.html Install

Download files here here

Using

Simple run :

./swx directory_containing_website

then, push you site the way you prefer with mercurial, git, rsync or even ftp

Configuration

To configure, edit swx.conf

You can change uppercase variables to fit your needs

  • BL : blacklist, the files that won’t be in the menu
  • CONVERTER : tool to convert sources . Pour txt2tags : CONVERTER='txt2tags -t html -o- --no-headers'.
  • EXT=".md" : extension of files to convert
  • FOOTER : what you want in footer
  • HEADER : what you want in header
  • TOPTEMPLATE : this will be included before the text of your pages Note that the default config file allows you to have a link to the to of the page.
  • BOTTOMTEMPLATE : text included between your text and footer.

Modyfy how your site looks with style.css

Example mkdir dossier cd dossier wget http://dev.yeuxdelibad.net/swx.tgz tar xvzf swx.tgz mkdir monsite vim monsite/index.md vim monsite/page1.md mkdir monsite/dossier1 vim monsite/dossier1/index.md ./swx/swx monsite

Appears monsite.static containing every pages converted to html and a new file swx.log containing the list of news pages (used later)

RSS feed

Use swx_rss to generate feed.xml

./swx_rss > DESTDIR/feed.xml

Replace DESTDIR the path to the output directory

Site map

Generate a list of pages in your site with

./swx_plan DESTDIR > DESTDIR/Divers/map.html

And replace of course : DESTDIR

Sitemap generator ./swx_sitemap DESTDIR > DESTDIR/sitemap.xml

Then, you can compress it :

gzip --best -c DESTDIR/sitemap.xml > DESTDIR/sitemap.gz

Don’t forget to edit robots.txt

User-agent: * Disallow: Sitemap: http://votredomaine.net/sitemap.gz Makefile

Example Makefile to edit to fit your needs:

SOURCEDIR=$(CURDIR)/example DESTDIR=$(CURDIR)/example.static all: ./swx $(SOURCEDIR) ./swx_gopher $(SOURCEDIR) ./swx_sitemap $(DESTDIR) > $(DESTDIR)/sitemap.xml gzip --best -c $(DESTDIR)/sitemap.xml > $(DESTDIR)/sitemap.gz ./swx_plan $(DESTDIR) > $(DESTDIR)/siteplan.html ./swx_rss > $(DESTDIR)/feed.xml ./swx_blog $(DESTDIR)/index.html clean: rm -rf *.static rm swx.log force: find Rendez-vous_sur_Arrakis -exec touch {} \\; make all serve: cd $(DESTDIR) && python3 -m http.server && x-www-browser http://localhost:8000

Then, just run :

  • make : build/update your site
  • make clean : Delete the site
  • make force : Force rebuild, event non-recent files
  • make serve : test site (python required) at http://localhost:8000
The end

Most of script can be improved, and simplified.

Avoid weird file names (use detox!)

Do not hesitate to contact me for any suggestion here

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

Thuban : swx - générateur de site statique

swx - générateur de site statique

swx est maintenant maintenu par le collectif 3hg : nouvelle page pour swx.

This page in english

swx permet de créer un site statique à partir d'une arborescence de fichiers écrits au format txt2tags ou markdown. Notez toutefois que n'importe quel autre convertisseur et langage markup, (pandoc…) peut être utilisé.

Mis à part ce convertisseur, aucun outil spécial n'est nécessaire, on n'utilise que les commandes de base du système (sed, cut, echo…)

Il s'agit en fait d'un kit de scripts qui ont pour chacun une tâche précise. “Diviser pour mieux régner” qu'ils disaient… Au moins, chaque script fait son boulot, et le fait bien.

Inspiré par sw, swx générera vos pages html, créera des liens entre elles sous forme de menu, et au lieu d'utiliser des modèles avec jinja, vous pouvez utiliser des simples feuilles de style css et préciser au script des morceaux de html que vous voudriez voir dans chaque page.

Fonctionnalités
  • Clone de la structure d'un site
  • Conversion des fichiers markdown, txt2tags en html
  • Ajout d'un menu de navigation entre les pages
  • Ajout des nouvelles pages à la première page du site
  • Peut ignorer des fichiers d'une liste définie dans le fichier de configuration
  • Création d'un flux rss : voir swx_rss
  • Création d'un page de blog : voir swx_blog. Pour les commentaires, utilisez [Hashover http://tildehash.com/?page=hashover ] ou Disqus.
  • Génération d'un “plan de site” listant tout ce qui y est disponible. voir swx_plan
  • Génération d'un “plan de site” lisible par les robots (pour l'indexation des moteurs de recherche) voir swx_sitemap
  • Utiliser un Makefile pour simplifier la génération du site voir Makefile

Exemple : Si votre répertoire source est ainsi :

/home/user/site/ |style.css |--------------directory/ |-----------------------index.md |-----------------------file1.md |-----------------------image.jpg |--------------directory2/ |-----------------------index.t2t |-----------------------article.md

Il deviendra en sortie

/home/user/site.static/ |style.css |--------------directory/ |-----------------------index.html |-----------------------file1.html |-----------------------image.jpg |--------------directory2/ |-----------------------index.html |-----------------------article.html Installation

Téléchargez tous les fichiers présents ici

Installez de quoi traiter votre langage markup (markdown, discount, txt2tags…)

Utilisation

Le script se lance simplement ainsi, dans le répertoire qui contient le dossier contenant votre site :

./swx repertoire_contenant_le_site

Ensuite, libre à vous de copier votre site ou le mettre à jour de la façon que vous préférez

  • Gestionnaire de versions (mercurial, git)
  • rsync (avec l'option -c pour n'uploader que les modifications)
  • ftp
Configuration

La configuration se déroule dans le fichier swx.conf

Vous pouvez modifier le contenu des variables (en majuscule) pour définir:

  • Le titre de votre site (TITLE) et le sous-titre (SUBTITLE)
  • L'adresse du site dans HOSTNAME
  • Des fichiers à ne pas lister dans le menu (BL)
  • CONVERTER : Le programme qui servira à convertir vos fichiers source . Pour txt2tags : CONVERTER='txt2tags -t html -o- --no-headers'.
  • L'extension des fichier à convertir (défaut : EXT=“.md”).
  • FOOTER : le contenu que vous voulez en pied de page
  • HEADER : le contenu souhaité en en-tête de page (favicon, auteur, feuille de style style.css…)
  • TOPTEMPLATE : ce qu'il y aura avant vos textes. Notez que le fichier de configuration par défaut permet d'avoir un lien vers le haut de la page.
  • BOTTOMTEMPLATE : ce qu'il y aura après vos textes

Vous pouvez définir l'apparence souhaitée en modifiant le fichier style.css. Un exemple est fourni avec swx.

Exemple d'utilisation

C'est parti, voyons en quelques étapes comment utiliser toutes les fonctionnalités de swx.

Tout d'abord, on va créer un dossier pour pouvoir travailler :

mkdir dossier cd dossier

On télécharge swx, on le décompresse :

wget http://dev.yeuxdelibad.net/swx.tgz tar xvzf swx.tgz

On crée un nouveau dossier qui contiendra notre site, puis on y crée quelques pages

mkdir monsite vim monsite/index.md vim monsite/page1.md mkdir monsite/dossier1 vim monsite/dossier1/index.md

On génère une première fois notre site :

./swx monsite

Apparaît alors un dossier monsite.static qui contient toutes les pages converties en html, et un nouveau fichier swx.log qui contient la liste des nouvelles pages (ça nous servira plus tard).

Ajout d'un flux rss

Pour ajouter un flux rss, on va créer un fichier feed.xml à la racine du site.

On utilise le script swx_rss fournit avec swx ainsi :

./swx_rss > DESTDIR/feed.xml

Remplacez DESTDIR par le dossier qui contiendra le site. Dans notre exemple, c'est monsite.static

Ajout d'un page type blog

Vous pouvez créer une page de type blog, contenant les articles récents. Il faut lancer :

./swx_blog DESTDIR/page.html

Si le fichier page.html contient “%%%BLOG%%%” (ou ce que vous aurez définit dans la configuration), alors cette ligne sera remplacée par la liste des articles récents.

Ajout d'une page de plan de site

Pour générer un plan de votre site que les visiteurs pourront utiliser afin de le parcourir, vous pouvez utiliser le script swx_plan fournit avec swx.

Pour l'utiliser :

./swx_plan DESTDIR > DESTDIR/Divers/Plan_du_site.html

Remplacez DESTDIR par le dossier qui contiendra le site. Dans notre exemple, c'est monsite.static

N'hésitez pas à éditer le script pour modifier l'apparence de la page générée. Il utilise par défaut le style.css de votre site.

Ajout d'une page de plan de site lisible par les robots

Tout simplement, pour créer un sitemap lisible par les moteurs de recherche :

./swx_sitemap DESTDIR http://yoursite.com > DESTDIR/sitemap.xml

Que vous pouvez compresser ensuite ainsi :

gzip --best -c DESTDIR/sitemap.xml > DESTDIR/sitemap.gz

N'oubliez pas de rajouter dans le fichier robots.txt ceci :

User-agent: * Disallow: Sitemap: http://votredomaine.net/sitemap.gz Automatiser le tout

Vous pouvez soit utiliser un script appelant les commandes précédentes, ou bien un fichier Makefile, qui vous permettra de faire tout ça avec simplement la commande make.

Exemple de fichier Makefile, à adapter selon le chemin de vos fichiers (variables DESTDIR, SOURCEDIR, et le nom du dossier contenant le site (ici Rendez-vous_sur_Arrakis)) :

SOURCEDIR=$(CURDIR)/example DESTDIR=$(CURDIR)/example.static all: ./swx $(SOURCEDIR) ./swx_gopher $(SOURCEDIR) ./swx_sitemap $(DESTDIR) > $(DESTDIR)/sitemap.xml gzip --best -c $(DESTDIR)/sitemap.xml > $(DESTDIR)/sitemap.gz ./swx_plan $(DESTDIR) > $(DESTDIR)/siteplan.html ./swx_rss > $(DESTDIR)/feed.xml ./swx_blog $(DESTDIR)/index.html clean: rm -rf *.static rm swx.log force: find Rendez-vous_sur_Arrakis -exec touch {} \\; make all serve: cd $(DESTDIR) && python3 -m http.server && x-www-browser http://localhost:8000

Voici ce que vous pourrez faire avec ce fichier présent dans votre dossier contenant swx :

  • make : fabrique/met à jour votre site
  • make clean : supprime votre site
  • make force : force la refabrication du site, même si certaines pages ne sont pas détectées comme récentes.
  • make serve : permet de tester votre site localement. Allez sur votre navigateur à la page http://localhost:8000
Pourquoi un autre générateur de site statique?

Bonne question. Ceux qui ont suivi ont pu voir que j'avais écrit auparavant pwg . Cependant il était mal fichu : tout dans un seul fichier, du coup dès que je voulais modifier quelque chose j'étais contraint de me replonger dans le code. C'était vraiment pas facile à maintenir. De plus, le python me limitait au markdown

Mais qu'en est-il des autres générateurs de site statiques? Ben oui, pour ne citer que les plus connus pelican, jekyll… À mon goût, ils faisaient bien trop de choses. Pour déployer un site, il m'aurait fallu reprendre toutes mes pages, y ajouter des tags, reprendre les templates du site…

Le mot de la fin

Évitez les fichiers avec des noms bizarres, des espaces… Pour vous en débarrasser, pensez à la commande detox (paquet debian du même nom)

Si vous souhaitez contribuer, suffit de demander

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

Thuban : Formulaire de recherche sur votre site

Formulaire de recherche sur votre site

Si vous souhaitez ajouter un formulaire de recherche sur votre site, vous pouvez insérer le code html suivant :

Avec duckduckgo :

Cherche sur votresite.tld

Avec qwant :

Chercher sur votresite.tld function encodeHTML(s) { return s.replace(/&/g, '&').replace(/

Dans chaque exemple, pensez à modifier le champ "votresite.tld".

Le formulaire de qwant nécessite l'activation de javascript... Ce n'est pas du code exotique, mais ça peut en chagriner certains.

À vous ;)

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

Thuban : Formulaire de recherche sur votre site

Formulaire de recherche sur votre site

Si vous souhaitez ajouter un formulaire de recherche sur votre site, vous pouvez insérer le code html suivant :

Avec duckduckgo :

Cherche sur votresite.tld

Avec qwant :

Chercher sur votresite.tld function encodeHTML(s) { return s.replace(/&/g, '&').replace(/

Dans chaque exemple, pensez à modifier le champ "votresite.tld".

Le formulaire de qwant nécessite l'activation de javascript... Ce n'est pas du code exotique, mais ça peut en chagriner certains.

À vous ;)

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

Thuban : Que c'est lent...

Que c'est lent…

Depuis le déménagement de ma ligne, l'accès à mon serveur est particulièrement lent... Et j'en suis désolé :s

Dans ma nouvelle rue, les lignes téléphoniques sont suspendues à des poteaux en bois... C'est dire l'âge qu'elles ont...
Voici les caractéristiques de mon accès :

  • Synchronisation : ↓ 608 Kbps ; ↑ 160 Kbps
  • Atténuation : 68.0586 dB
  • Distance du NRA : 6462 mètres
  • Type de câble : 6mm : 6462m

Le NRA est loin, l'atténuation grande, le temps de réponse s'en ressent. :/
En attendant, j'ai contacté mon FAI à ce sujet, mais je crains qu'ils ne puissent pas y faire grand chose...

Normalement, la fibre doit être déployée au cours de l'année dans ma commune... J'espère !

le 25/04/2018 à 05:29:09, Mirabellette a dit :

Pas facile l'autohébergement dans un patelin :D

le 26/04/2018 à 09:55:55, paskal a dit :

Et oui, qualité de vie ne rime pas forcément avec haut-débit...
J'éviterai donc de charger cinq pages à la fois, promis !
Et puis, profiter d'un site aussi agréable se mérite. :)

le 28/04/2018 à 14:10:05, arpinux a dit :

@paskal : vrai que ça ajoute un petit suspens à chaque consultation du site :P

le 29/04/2018 à 07:34:20, thuban a dit :

@arpinux :
@paskal :
Ah les coquiins 😜

le 01/05/2018 à 13:46:00, donguid a dit :

J'ai connu le cas dans le sud ouest: le département fibrait à tout va ... entre les NRA. Etant à 5900 m du mien, j'avais la chance d'avoir du 511 alors que certains voisins n'avaient rien (le multiplexage et l'adsl ne sont pas copains). 511, cad la techno d'avant le 512 : j'avais repéré le fil sur le poteau qui m'amenait internet, car un jour un camion a défoncé ce câble, et plus rien. Une fois remis en place, du net. Et par temps de vent, ou lorsqu'un fichu piaf se posait sur ce câble, je constatais la baisse de débit ...

Sinon, de ton coin pas loin de Nantes, es tu passé voir le hackathon OpenBSD ? N'étant pas un dieu du C, je n'oserai pas approcher ce groupe de furieux ;-)

le 01/05/2018 à 14:11:48, thuban a dit :

@donguid : Ça fibre dans le coin pourtant, ça devrait arriver dans l'année d'après les nouvelles de la mairie...

Et non, je n'ai pas eu l'occasion d'assister au hackaton. Moi non plus, je ne saurais pas participer, mais j'aurais été curieux de rencontrer ces furieux ;)

le 05/05/2018 à 13:45:20, utux a dit :

Loue un vps à 3€ par mois..

le 05/05/2018 à 14:48:46, thuban a dit :

@utux : J'y ai pensé, mais un VPS ne me permet pas de garder les données chez moi.
Et du mail sur un VPS, c'est pas évident...

le 06/05/2018 à 13:51:27, PengouinPdt a dit :

Mon petit doigt me dit qu'il connaît même un serveur qu'il pourrait utiliser, qui à-priori supporte bien la charge... qu'il pourrait le faire pour la partie web, à minima...
Qu'il n'y a aucun problème qu'il l'utilise pour cela...

Mais bon, chacun fait ses choix, hein ! ;)

le 06/05/2018 à 16:13:45, thuban a dit :

@PengouinPdt : Ça ne change rien au fait que je veux garder les données chez moi.
Le CHATONS que j'héberge se vante de respecter les utilisateurs. Si je mettais leurs données et leurs mails sur un autre serveur, ça serait incohérent.

Pour ce qui est de mon blog perso ou mon site, c'est juste par caprice, je veux m'auto-héberger, car je peux le faire.

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

Thuban : Que c'est lent...

Que c'est lent…

Depuis le déménagement de ma ligne, l'accès à mon serveur est particulièrement lent... Et j'en suis désolé :s

Dans ma nouvelle rue, les lignes téléphoniques sont suspendues à des poteaux en bois... C'est dire l'âge qu'elles ont...
Voici les caractéristiques de mon accès :

  • Synchronisation : ↓ 608 Kbps ; ↑ 160 Kbps
  • Atténuation : 68.0586 dB
  • Distance du NRA : 6462 mètres
  • Type de câble : 6mm : 6462m

Le NRA est loin, l'atténuation grande, le temps de réponse s'en ressent. :/
En attendant, j'ai contacté mon FAI à ce sujet, mais je crains qu'ils ne puissent pas y faire grand chose...

Normalement, la fibre doit être déployée au cours de l'année dans ma commune... J'espère !

le 25/04/2018 à 05:29:09, Mirabellette a dit :

Pas facile l'autohébergement dans un patelin :D

le 26/04/2018 à 09:55:55, paskal a dit :

Et oui, qualité de vie ne rime pas forcément avec haut-débit...
J'éviterai donc de charger cinq pages à la fois, promis !
Et puis, profiter d'un site aussi agréable se mérite. :)

le 28/04/2018 à 14:10:05, arpinux a dit :

@paskal : vrai que ça ajoute un petit suspens à chaque consultation du site :P

le 29/04/2018 à 07:34:20, thuban a dit :

@arpinux :
@paskal :
Ah les coquiins 😜

le 01/05/2018 à 13:46:00, donguid a dit :

J'ai connu le cas dans le sud ouest: le département fibrait à tout va ... entre les NRA. Etant à 5900 m du mien, j'avais la chance d'avoir du 511 alors que certains voisins n'avaient rien (le multiplexage et l'adsl ne sont pas copains). 511, cad la techno d'avant le 512 : j'avais repéré le fil sur le poteau qui m'amenait internet, car un jour un camion a défoncé ce câble, et plus rien. Une fois remis en place, du net. Et par temps de vent, ou lorsqu'un fichu piaf se posait sur ce câble, je constatais la baisse de débit ...

Sinon, de ton coin pas loin de Nantes, es tu passé voir le hackathon OpenBSD ? N'étant pas un dieu du C, je n'oserai pas approcher ce groupe de furieux ;-)

le 01/05/2018 à 14:11:48, thuban a dit :

@donguid : Ça fibre dans le coin pourtant, ça devrait arriver dans l'année d'après les nouvelles de la mairie...

Et non, je n'ai pas eu l'occasion d'assister au hackaton. Moi non plus, je ne saurais pas participer, mais j'aurais été curieux de rencontrer ces furieux ;)

le 05/05/2018 à 13:45:20, utux a dit :

Loue un vps à 3€ par mois..

le 05/05/2018 à 14:48:46, thuban a dit :

@utux : J'y ai pensé, mais un VPS ne me permet pas de garder les données chez moi.
Et du mail sur un VPS, c'est pas évident...

le 06/05/2018 à 13:51:27, PengouinPdt a dit :

Mon petit doigt me dit qu'il connaît même un serveur qu'il pourrait utiliser, qui à-priori supporte bien la charge... qu'il pourrait le faire pour la partie web, à minima...
Qu'il n'y a aucun problème qu'il l'utilise pour cela...

Mais bon, chacun fait ses choix, hein ! ;)

le 06/05/2018 à 16:13:45, thuban a dit :

@PengouinPdt : Ça ne change rien au fait que je veux garder les données chez moi.
Le CHATONS que j'héberge se vante de respecter les utilisateurs. Si je mettais leurs données et leurs mails sur un autre serveur, ça serait incohérent.

Pour ce qui est de mon blog perso ou mon site, c'est juste par caprice, je veux m'auto-héberger, car je peux le faire.

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

Thuban : Déménagement du serveur terminé (yeuxdelibad.net, 3hg.fr, ouaf.xyz) ✓

Déménagement du serveur terminé (yeuxdelibad.net, 3hg.fr, ouaf.xyz) ✓

Ça y est, mon fournisseur d'accès à internet a déménagé ma ligne après qu'orange ait enfin terminé d'installer ma ligne.
Il reste du temps pour que les DNS se propagents, et je suppose qu'il restera des petits détails à régler, mais c'est une bonne chose de faite.

N'hésitez pas à me rapporter ici d'éventuels soucis.

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

Thuban : Déménagement du serveur terminé (yeuxdelibad.net, 3hg.fr, ouaf.xyz) ✓

Déménagement du serveur terminé (yeuxdelibad.net, 3hg.fr, ouaf.xyz) ✓

Ça y est, mon fournisseur d'accès à internet a déménagé ma ligne après qu'orange ait enfin terminé d'installer ma ligne.
Il reste du temps pour que les DNS se propagents, et je suppose qu'il restera des petits détails à régler, mais c'est une bonne chose de faite.

N'hésitez pas à me rapporter ici d'éventuels soucis.

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

Thuban : dracula - une palette de couleurs pour vos applications

dracula - une palette de couleurs pour vos applications

J'ai pendant longtemps utilisé le très célèbre thème de couleurs "solarized". Une fois qu'on s'y est habitué, il faut admettre qu'il est très reposant pour les yeux.

Cependant, j'en ai eu marre et eu envie de tester une alternative : dracula

Plus sombre que son prédécesseur, il est à mon avis plus agréable.

alt

Vous trouverez des thèmes pour la plupart des applications.
Ci-dessous, voici les couleurs pour dmenu :

# draculaNB="#282a36"NF="#f8f8f2"SB="#44475a"SF="#8be9fd"FN="Hack-10"COLORS="-fn $FN -nb $NB -nf $NF -sb $SB -sf $SF"

Et pour xterm (fichier .Xdefaults)

! Dracula Xresources palette*.foreground: #F8F8F2*.background: #282A36*.color0: #000000*.color8: #4D4D4D*.color1: #FF5555*.color9: #FF6E67*.color2: #50FA7B*.color10: #5AF78E*.color3: #F1FA8C*.color11: #F4F99D*.color4: #BD93F9*.color12: #CAA9FA*.color5: #FF79C6*.color13: #FF92D0*.color6: #8BE9FD*.color14: #9AEDFE*.color7: #BFBFBF*.color15: #E6E6E6

Il y a même un patch pour st

enjoy ;)

le 21/04/2018 à 16:24:00, Comete a dit :

Moi j'utilise celui-ci, depuis de nombreuses années, qui est pas mal non plus... conjointement avec le theme pour Vim: Wombat256

*foreground: #909090
*background: #1c1c1c
*color0: #1C1C1C
*color8: #404040
*color1: #B85335
*color9: #d7875f
*color2: #87d75f
*color10: #d7ff87
*color3: #FFB964
*color11: #FAD07A
*color4: #7292d2
*color12: #87afff
*color5: #b87ab8
*color13: #dbbddb
*color7: #909090
*color15: #e4e4e4

! color man pages
*VT100*colorMode: on
*VT100*boldColors: on
*VT100*dynamicColors: on
*VT100*colorULMode: on
*VT100*underLine: off
*VT100*colorBDMode: on
*VT100*colorUL: #87d75f
*VT100*colorBD: #e04613

le 22/04/2018 à 10:34:48, sogal a dit :

Yeah !
Très sympa ce thème, un bon équilibre entre solarized dark et monokai que j'aime beaucoup tous les deux !

Du coup j'ai fait un petit thème pour Tilix :

cat ~/.config/tilix/schemes/Dracula.json { "background-color": "#282936", "badge-color": "#FFFFFF", "bold-color": "#FFFFFF", "comment": "", "cursor-background-color": "#BABDB6", "cursor-foreground-color": "#BBBBBB", "foreground-color": "#F8F8F2", "highlight-background-color": "#F8F8F8", "highlight-foreground-color": "#888A85", "name": "Dracula", "palette": [ "#000000", "#FF5454", "#50FA7B", "#F7CA88", "#BD93F9", "#FF79C6", "#8BE8FD", "#BBBBBB", "#44475A", "#FF5454", "#50FA7A", "#F1FA8C", "#BD93F9", "#FF79C6", "#8BE8FD", "#FFFFFF" ], "use-badge-color": false, "use-bold-color": false, "use-cursor-color": true, "use-highlight-color": true, "use-theme-colors": false}

Merci pour cet article découverte !

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

Thuban : dracula - une palette de couleurs pour vos applications

dracula - une palette de couleurs pour vos applications

J'ai pendant longtemps utilisé le très célèbre thème de couleurs "solarized". Une fois qu'on s'y est habitué, il faut admettre qu'il est très reposant pour les yeux.

Cependant, j'en ai eu marre et eu envie de tester une alternative : dracula

Plus sombre que son prédécesseur, il est à mon avis plus agréable.

alt

Vous trouverez des thèmes pour la plupart des applications.
Ci-dessous, voici les couleurs pour dmenu :

# draculaNB="#282a36"NF="#f8f8f2"SB="#44475a"SF="#8be9fd"FN="Hack-10"COLORS="-fn $FN -nb $NB -nf $NF -sb $SB -sf $SF"

Et pour xterm (fichier .Xdefaults)

! Dracula Xresources palette*.foreground: #F8F8F2*.background: #282A36*.color0: #000000*.color8: #4D4D4D*.color1: #FF5555*.color9: #FF6E67*.color2: #50FA7B*.color10: #5AF78E*.color3: #F1FA8C*.color11: #F4F99D*.color4: #BD93F9*.color12: #CAA9FA*.color5: #FF79C6*.color13: #FF92D0*.color6: #8BE9FD*.color14: #9AEDFE*.color7: #BFBFBF*.color15: #E6E6E6

Il y a même un patch pour st

enjoy ;)

le 21/04/2018 à 16:24:00, Comete a dit :

Moi j'utilise celui-ci, depuis de nombreuses années, qui est pas mal non plus... conjointement avec le theme pour Vim: Wombat256

*foreground: #909090
*background: #1c1c1c
*color0: #1C1C1C
*color8: #404040
*color1: #B85335
*color9: #d7875f
*color2: #87d75f
*color10: #d7ff87
*color3: #FFB964
*color11: #FAD07A
*color4: #7292d2
*color12: #87afff
*color5: #b87ab8
*color13: #dbbddb
*color7: #909090
*color15: #e4e4e4

! color man pages
*VT100*colorMode: on
*VT100*boldColors: on
*VT100*dynamicColors: on
*VT100*colorULMode: on
*VT100*underLine: off
*VT100*colorBDMode: on
*VT100*colorUL: #87d75f
*VT100*colorBD: #e04613

le 22/04/2018 à 10:34:48, sogal a dit :

Yeah !
Très sympa ce thème, un bon équilibre entre solarized dark et monokai que j'aime beaucoup tous les deux !

Du coup j'ai fait un petit thème pour Tilix :

cat ~/.config/tilix/schemes/Dracula.json { "background-color": "#282936", "badge-color": "#FFFFFF", "bold-color": "#FFFFFF", "comment": "", "cursor-background-color": "#BABDB6", "cursor-foreground-color": "#BBBBBB", "foreground-color": "#F8F8F2", "highlight-background-color": "#F8F8F8", "highlight-foreground-color": "#888A85", "name": "Dracula", "palette": [ "#000000", "#FF5454", "#50FA7B", "#F7CA88", "#BD93F9", "#FF79C6", "#8BE8FD", "#BBBBBB", "#44475A", "#FF5454", "#50FA7A", "#F1FA8C", "#BD93F9", "#FF79C6", "#8BE8FD", "#FFFFFF" ], "use-badge-color": false, "use-bold-color": false, "use-cursor-color": true, "use-highlight-color": true, "use-theme-colors": false}

Merci pour cet article découverte !

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

Thuban : Configurer vi (et pas vim)

Configurer vi (et pas vim)

Pour les barbus fervents de minimalisme, pas besoin de vim, vi suffit à lui tout seul :)

Afin de le configurer, il faut éditer le fichier ~/.exrc. Voici le contenu (tout petit) du mien :

set showmodeset numberset rulerset tabstop=4set shiftwidth=4 set autoindent

Le "man vi" vous donnera des détails si besoin ;)

le 18/04/2018 à 09:40:58, karchnu a dit :

En même temps vi a presque tout ce dont j'ai besoin… pas mal pour un petit programme qui a plus de 40 ans.

le 18/04/2018 à 10:15:18, Starsheep a dit :

Je pense que tu peux aller encore plus loin dans le minimalisme : ed.

Bon courage. :D

le 18/04/2018 à 17:12:48, thuban a dit :

@Starsheep : En fait, "ed" et "vi" font partie du même programme, ce sont juste deux interfaces différentes.
Mais clairement, vi est plus facile :)
Sinon, chiche ! Je te regarde ;)

le 18/04/2018 à 21:02:25, fougasse a dit :

@thuban :

En fait, "ed" et "vi" font partie du même programme, ce sont juste deux interfaces différentes.

→ tu veux dire "ex" et "vi" font partie du même programme non ?

le 18/04/2018 à 21:18:56, thuban a dit :

@fougasse : Ah oui, pardon, c'est bien "ex", j'ai confondu.

le 19/04/2018 à 20:01:27, trefix a dit :

Idéal pour bosser, en toutes circonstance : le "vi" et le couteau :D

/me => []

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

Thuban : Configurer vi (et pas vim)

Configurer vi (et pas vim)

Pour les barbus fervents de minimalisme, pas besoin de vim, vi suffit à lui tout seul :)

Afin de le configurer, il faut éditer le fichier ~/.exrc. Voici le contenu (tout petit) du mien :

set showmodeset numberset rulerset tabstop=4set shiftwidth=4 set autoindent

Le "man vi" vous donnera des détails si besoin ;)

le 18/04/2018 à 09:40:58, karchnu a dit :

En même temps vi a presque tout ce dont j'ai besoin… pas mal pour un petit programme qui a plus de 40 ans.

le 18/04/2018 à 10:15:18, Starsheep a dit :

Je pense que tu peux aller encore plus loin dans le minimalisme : ed.

Bon courage. :D

le 18/04/2018 à 17:12:48, thuban a dit :

@Starsheep : En fait, "ed" et "vi" font partie du même programme, ce sont juste deux interfaces différentes.
Mais clairement, vi est plus facile :)
Sinon, chiche ! Je te regarde ;)

le 18/04/2018 à 21:02:25, fougasse a dit :

@thuban :

En fait, "ed" et "vi" font partie du même programme, ce sont juste deux interfaces différentes.

→ tu veux dire "ex" et "vi" font partie du même programme non ?

le 18/04/2018 à 21:18:56, thuban a dit :

@fougasse : Ah oui, pardon, c'est bien "ex", j'ai confondu.

le 19/04/2018 à 20:01:27, trefix a dit :

Idéal pour bosser, en toutes circonstance : le "vi" et le couteau :D

/me => []

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

Pages