Le site arthur.bebou.netlib.re - retour accueil
git clone git://bebou.netlib.re/arthur.bebou
Log | Files | Refs |
commit b2da881d849561cdee3acdcf8c2ed3f872bf21f2 parent 6707e1e60b9268d55ccecf2a410a9bd180e6a116 Auterice: Arthur Pons <arthur.pons@unistra.fr> Date: Thu, 25 Apr 2024 11:42:48 +0200 Nouvel article sur la navigation Diffstat:
A | contents/navigation/index.sh | | | 88 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1 file changed, 88 insertions(+), 0 deletions(-)
diff --git a/contents/navigation/index.sh b/contents/navigation/index.sh @@ -0,0 +1,88 @@ +#! page +title: Naviguer en md dans vim +author: Arthur Pons +description: Il est possible de naviguer sur un site web de page md en page md dans vim en se passant totalement de navigateur web. Voici comment faire. +publication: 2024-04-26 + +sectionmd: main + +D'expérience, sur un vieil ordinateur, faire tourner un naviguateur web est +l'une des choses "classiques"[^1] les plus gourmandes en mémoire et en calcul. +S'en passer que c'est possible permettrait donc d'allonger la durée de vie de +certains terminaux en rendant l'usage du web plus léger. La solution que nous +allons documenter par la suite possède d'autres avantages, un peu de niche, +que nous allons expliquer à la fin de l'article. + +## Récupérer le contenu d'une page sur le web sans navigateur + +Les serveurs web écoutent sur internet et répondent à des requêtes http. +Par exemple, en utilisant la commande `nc` pour envoyer des données arbitraires +à un serveur, on peut écrire à la main une requête HTTP et récupérer une page : + + nc bebou.netlib.re 80 + GET /index.html HTTP/1.1 + Host: arthur.bebou.netlib.re + + HTTP/1.1 200 OK + Date: Thu, 25 Apr 2024 09:03:08 GMT + Server: merecat/2.32-rc4 + Last-Modified: Wed, 24 Apr 2024 20:48:32 GMT + Accept-Ranges: bytes + Content-Length: 4485 + Content-Type: text/html; charset=UTF-8 + Cache-Control: max-age=3600 + ETag: "433047229c59ec41e18fdd3d67153f94" + Connection: close + Vary: Accept-Encoding + + <!DOCTYPE html> + <html lang="fr"> + <head> + <title>Unix et environnement ?</title> + [...] + +Nous avons demandé `/index.html` mais nous pourrions demander `/index.md` pour +avoir la même page en markdown : + + + nc bebou.netlib.re 80 + GET /index.html HTTP/1.1 + Host: arthur.bebou.netlib.re + + [...] + + Unix et environnement ? + [Liste des articles au format tsv](http://arthur.bebou.netlib.re/articles.tsv)\ + Chaque page est disponible au format : + + * `.html` - de l'html + * `.sh` - les sources + +Evidemment on ne va pas taper la requête HTTP à la main à chaque fois. C'est +(en partie) pour ça qu'il existe des logiciels dédiés pour faire des requêtes. +`wget` et `curl` en sont deux exemples. Nous allons utiliser `curl` pour la suite. + + curl -s arthur.bebou.netlib.re/index.md + + Unix et environnement ? + [Liste des articles au format tsv](http://arthur.bebou.netlib.re/articles.tsv)\ + Chaque page est disponible au format : + + * `.html` - de l'html + * `.sh` - les sources + [...] + +Sur un raspberry 3b le temps pour récupérer le markdown et l'afficher dans le +terminal est d'environ `0,08s`. Par ailleurs `curl` prend `0,5Mo` sur le disque. + +Si l'on veut lire l'article dans un pager ou un éditeur de texte ou peut piper +la sortie de curl + + curl -s arthur.bebou.netlib.re/index.md | less + #ou + curl -s arthur.bebou.netlib.re/index.md | vim - + + + +[^1]: sous entendu pas de montage vidéo, de modélisation 3D ou de jeux vidéo aux graphismes 3D +endsection