Une semaine de web en mode texte

Un jour je suis passée devant un film dont je ne sais rien, où il y avait un gamin chez un maître genre arts martiaux, qui était puni pour je ne sais quelle raison à « une semaine dans la montagne », et s'y débrouiller tout seul avec ce qu'il y trouve. En fait ça m'avait surtout marquée pour la scène juste après, lorsque le gamin revient de la montagne, le maître lui offre un chat et lui explique à quel point les chats sont super et il faut faire comme eux et tout. Bref, moi aussi je viens de subir « une semaine dans la montagne », et ce n'était pas si difficile que ce à quoi je m'attendais.

Ça a commencé il y a une semaine, donc, lorsque pour diverses raisons mon ordinateur professionnel était dans une situation assez catastrophique, j'ai décider de tout arracher pour repartir sur des bases saines.

Avant de tout arracher, sur cet ordinateur professionnel j'avais depuis des années un Firefox dans un écran rien que pour lui, pour naviguer sur le grand 'ternet. À peu près tout ce que je fais habituellement est en mode texte, dans des terminaux, et Firefox était l'une des rares applications graphiques que j'utilisais souvent (les autres étant principalement The Gimp, xpdf et gnuplot). Je me disais souvent que ce Firefox, il est quand même lourd, et que je ne suis pas du tout dépendante, j'arrête quand je veux, il suffit d'un peu de volonté ; mais sans vraiment y croire.

Vendredi dernier, après avoir tout arraché, il fallait bien tout réinstaller. Enfin plutôt, réinstaller tout ce dont j'ai vraiment besoin, mais un navigateur en fait partie. Par je ne sais quel accès de folie, de défi ou de bravade, je me suis dit : « Et si j'essayais pour de vrai de vivre sans Firefox ? » C'est que c'est super-long à recompiler, un Firefox, quand même.

Dès le début je ne me faisais pas d'illusions : sur IRC je commençais à prendre les paris sur « Combien de temps est-ce que je tiendrai avant de réinstaller Firefox ? » Il n'était même pas question de savoir si j'arriverais ou pas à tenir, seulement combien de temps avant de craquer.

Mais j'y suis quand même allée sérieusement : première étape, analyse des besoins. Les navigateurs en mode texte les plus aboutis sont à ma connaissance w3m et ELinks. ELinks me semble généralement avoir un rendu plus sympathique que w3m, mais ce dernier a deux killer features qui manquent cruellement à ELinks: un bon support unicode, particulièrement dans les script exotiques, et surtout l'affichage des images dans le terminal graphique, via w3mimgdisplay qui me semble être une pure merveille. Parce qu'il y a des webcomics que j'aime beaucoup, genre Errant Story ou Piled Higher & Deeper, et il y a les lolcats, tout ça perd beaucoup de son intérêt sans les images.

En réalité, j'ai tranché il y a plus longtemps que ça la question de la navigation en mode texte, au profit de w3m. Il m'arrive régulièrement de l'utiliser sur mon serveur dédié, auquel je n'ai accès qu'en mode texte, lorsque je ne veux pas qu'une autre adresse IP apparaîsse dans les logs des sites visités.

Et je m'en sers de plus en plus aussi sur Narn, le netbook que j'ai gagné lors d'un hackathon. Sa mémoire vive est plutôt limitée, et son processeur MIPS est plutôt poussif, surtout lorsqu'il est bloqué à sa fréquence minimale dans l'espoir (mitigé) de réduire la nuisance sonore des ventilateurs et d'augmenter son autonomie. À tel point que naviguer avec Firefox, ou n'importe quel navigateur basé sur Gecko, est rapidement pénible. Il paraît que Webkit est un moteur significativement plus rapide que Gecko, malheureusement sur cette plaforme MIPS il plante si rapidement qu'on n'a pas le temps de naviguer. Je me suis donc retrouvée contrainte à utiliser w3m ou ELinks autant que possible, en ne recourant à Firefox ou Epiphany qu'en cas d'extrême nécessité.

J'ai donc installé sur mon poste professionnel w3m comme seul navigateur. Le vendredi après-midi s'est écoulé sans que je ne ressente le besoin de plus. En même temps, j'étais surtout occupée à réinstaller tout le reste, donc ça ne veut pas forcément dire grand chose.

Par contre, le fait que je tienne depuis lundi avec presque seulement w3m me semble nettement plus impressionnant, et digne d'être bloggé. Je ne m'attendais franchement pas à tenir aussi longtemps.

Oui, presque. Techniquement, je n'ai toujours pas réinstallé Firefox. Mais en réalité, quand je disais : « Combien de temps est-ce que je tiendrai avant de réinstaller Firefox ? » je pensais plutôt à :« Combien de temps est-ce que je tiendrai avant de réinstaller un navigateur graphique ? » Et ça, ça change tout.

Déjà lundi matin j'avais prévu que quand je craquerais, avant de revenir à Firefox, je testerais uzbl. Ce navigateur plutôt exotique avait l'air de pouvoir me plaire, il a malheureusement le défaut de dépendre de webkit-gtk2 et de libsoup, qui sont deux paquets qui m'ont donné du fil à retordre, mais que j'ai pu finalement installer proprement, grâce à l'aide inestimable de bapt. Quelle ne fut pas ma déception quand après avoir tellement lutté pour installé les prérequis, j'ai découvert qu'uzbl ne compile pas…

En parallèle, j'ai commencé à sentir les limites du mode texte. La plupart des sites que je fréquente sont assez bien faits pour être tout-à-fait utilisables en mode texte (après un certain temps d'adaptation à la navigation en mode texte elle-même) ; par contre certains sites sont inutilisables sans JavaScript, chose que w3m ne gère pas.

Ne pas pouvoir marquer comme lus les spams de ma boîte Hotmail n'est qu'une nuisance mineure. Le TLFI me manque déjà plus. Le site de ma banque me manque aussi, même si ça fait depuis longtemps que j'exècre son clavier virtuel, je n'ai pas encore pris le temps de scripter l'accès. Ma page de statistiques à base de Munin n'est pas très agréable à utiliser en mode texte. Et la météo m'a manquée quelque fois aussi, d'ailleurs si quelqu'un connaît un bon programme non-navigateur pour avoir les prévisions du jour et du lendemain, genre à la conky, ça m'intéresse.

J'ai craqué mardi midi, et j'ai cédé à l'appel du navigateur graphique Midori qui l'avantage d'utiliser directement le webkit-gtk2 que je me suis donné tant de mal à installer, ce qui le rend plus rapide à installer que Firefox. J'ai pu au passage admirer la vitesse de rendu de WebKit, impressionnamment meilleure que celle de mon vieux Firefox.

Mais curieusement, je ne l'ai pas utilisé plus que ça. Il y a quelque chose de magique à n'avoir que des terminaux sur les écrans. Il y a une sérénité incroyable dans la navigation en mode texte.

Je suis évidemment loin de renier complètement la navigation graphique, je finirai même peut-être par réinstaller Firefox lorsque j'arriverais aux limites de Midori, mais j'ai l'impression que w3m est bien parti pour rester durablement mon navigateur principal.

On verra bien comment ça évolue, je ne sais pas du tout dans quelle mesure ça va durer.

Commentaires

1. Le samedi 5 décembre 2009 à 18:07, par _FrnchFrgg_ :

Il y a l'approche Firefox: prendre Gecko (qui date de Netscape, et qui a un passif de pachyderme), l'améliorer en réécrivant des gros bouts en s'assurant de ne rien régresser. Par rapport au Gecko des débuts, ils ont vraiment dégraissé et accéléré tout, et il reste encore beaucoup de boulot (en ce moment, ils réécrivent Gecko pour être multi-process avec chaque tab dans son processus, et les plug-ins dans des processus séparés; c'est pas si facile parce que Flash par exemple s'attend à être dans le même processus que la fenêtre sur laquelle il dessine, il faut biaiser).

Et il y a l'approche Safari (Webkit) ou Chrome (je me demande si il n'y a pas des bouts de Webkit dedans aussi d'ailleurs):
on part de rien ou pas grand chose (KHTML), et on rajoute de plus en plus pour arriver à suffisamment de fonctions pour pouvoir surfer.

Le problème de la deuxième approche, c'est que bien souvent, lorsqu'on a ajouté tous le code pour gérer les cas particuliers de merde des spécifications, voire les quirks IE-like, on a un système parfois plus lourdingue que le pachyderme qu'on voulait remplacer.

Ce problème n'est pas seulement théorique, c'est arrivé au sein de Gecko quand ils ont réécrit certaines portions from scratch, et des fois c'est vraiment nécessaire d'avoir écrit et maintenu la version pachydermique pour pouvoir faire les bons choix dès le début de la réécriture et éviter qu'un nouveau moteur super clean ne passe pas à l'échelle quand il faut gérer les détails.

Ce n'est pas théorique non plus dans le sens où Webkit gère les specs de manière moins complète que Gecko. Le plus rapide, chrome, a même des rendus délibérément faux pour aller plus vite, et ils est très probable que dans leur architecture avoir le bon résultat serait prohibitif.

Je ne fais que répéter ce que j'ai lu dit par des "gourous" du layout, qui je pense sont suffisamment calés pour savoir de quoi ils parlent. À noter qu'il y a aussi des cas où Gecko fait des approximations et que son architecture ne permet pas de faire mieux, mais quasiment tous ces bugs (car ce sont des bugs au moins pour les Geckoers) vont entrainer une réécriture.

L'avantage de la méthode Gecko c'est que ce moteur tentaculaire gère tout et n'importe quoi, toutes les idiosyncrasies des spécifications (avec leurs interactions étranges), mais surtout les idiosyncrasies du monde réel. Il y a une test-suite énorme qui permet de vérifier que ces idiosyncrasies sont toujours gérées même après accélération.

Comme je dis toujours à mes élèves, il vaut mieux être un peu lent et faire tout juste que faire beaucoup mais faux; il est plus facile d'apprendre à accélérer et à faire des raccourcis qu'apprendre à faire correctement sans ralentir.

2. Le dimanche 6 décembre 2009 à 21:13, par W :

Merci pour ce partage d'expérience ! Juste une question sur le temps de compilation de Firefox (entre autres) : ils ont supprimé pkg_add dans la 8.0 ?

3. Le lundi 7 décembre 2009 à 18:15, par Natacha :

_FrnchFrgg_, je crois qu'il y a eu un petit problème de routage des commentaires, j'ai fait un billet sur le mode texte, et je n'ai honnêtement que faire des différentes approches pour faire un moteur graphique. Mais je te promets que dès que je n'en aurait plus complètement rien à faire de ce qu'il peut arriver dans le monde des moteurs graphiques, je relirai ton commentaire avec toute l'attention qu'il mérite.

W, j'aime beaucoup ton commentaire, même si je n'arrive pas à trouver des mots pour décrire ce qui m'y plait. J'avoue que l'idée de passer par les paquets binaires ne m'est même pas venue à l'esprit. Habituellement j'exclus cette possibilité parce j'utilise souvent des options de compilation inhabituelles (c'est pour ça qu'il fallu que je me batte avec libsoup), et que les binaires ont tendance à vouloir une version précise des dépendances alors que la compilation est beaucoup plus souple et permet de modifier moins de lib' et ainsi de prendre moins de risques de casser des trucs.

Dans le cas précis de ce billet, c'est vrai que le système est tout neuf, donc les inquiétudes de dépendances n'ont pas lieu d'être, et j'utilise firefox avec les options par défaut, donc ce serait possible. Mais comme ce n'est plus nécessaire…

4. Le vendredi 11 décembre 2009 à 16:21, par Laurent :

Merci pour la mention de midori, je vais tester la chose !

5. Le mardi 2 février 2010 à 18:30, par gorbey :

Salut Natacha,

Bienvenue au club des texteux!
Voilà au moins 5 ans que je ne navigue plus qu'en mode texte, mais il faut dire que j'ai une raison, elle est simple, mes yeux ne voient même pas à un dixième.
Ton billet m'a par conséquent beaucoup intéressé.
Pour donner mon point de vue, je me sens assez limité sur le web, moi j'utilise tout simplement lynx, je n'ai jamais eu la percévérance de m'acclimater à W"m ou elinks, et lynx ne gère pas du tout le javascript (elinks le gère un peu je crois). J'ai voulu l'année dernière me lancer dans un projet d'intégrer un moteur javascript dans lynx et je me suis finalenment dit que c'était de la folie.
Le sujet mériterait d'être approfondi mais je ne vais pas faire un roman ici.

6. Le lundi 8 février 2010 à 13:04, par Natacha :

Salut gorbey , bienvenue merci d'avoir laissé un petit mot par ici.

C'est vrai que (comme sans doute trop de mode) j'oublie souvent que tout le monde n'a pas le même genre de capacités perceptives que moi. J'imagine que comme moi tu te heurtes à un bon nombre de sites qui ne sont manifestement pas prévus pour être consultables sans javascript, graphismes, truc et autres bidules. Et malheureusement j'ai l'impression que même si tous ceux qui sont capables d'utiliser un termnial passaient au mode texte, nous resterions une minorité négligée par tous les vendeurs de sites.

Le moteur JavaScript de mozilla est effectivement intégré dans Elinks, mais j'avoue ne pas trop savoir à quel point ça aide à rendre utilisable les sites mal pensés, ni à quel point ça permet de retrouver en mode texte une partie des nuisances du monde graphique, parce que je n'ai pas essayé. Je ne me rappelle plus exactement pourquoi l'interface de w3m m'a tellement plus séduite que celle d'Elinks et celle de lynx, mais je me souviens que j'ai rapidement fait mon choix. Peut-être qu'un jour j'essayerai, pour voir.

Quant à vouloir prendre sur soi pour intégrer un moteur JavaScript à lynx ou w3m, ça ne me semble pas si irréaliste, mais tout dépend bien sûr des capacités à programmer et du temps dont on dispose.

7. Le jeudi 18 février 2010 à 11:46, par gorbey :

Oui, je me heurte à tout un tas de restrictions.
Déjà, j'apprécie beaucoup ton blog car il n'y a pas besoin d'y recopier le contenu d'une image pour pouvoir poster.
Typiquement, je suis quasi-systématiquement dépendant de quelqu'un d'autre quand il s'agit de faire des réservations ou des trucs comme ça, il y a aussi plein de sites où je me perds, souvent parce que le deisgn du site est pensé en colonnes, celles-ci ne sont en tout cas pas rendues par lynx.
Il existe un logiciel d'accessibilité pour Gnome qui commence paraît-il à être bien, mais je ne l'ai jamais essayé, peut-être cela pourrait-il me permettre de m'enlever quelques barrières. Peut-être suis-je trop attaché au mode texte pour avoir voulu prender le temps de l'essayer.
Enfin dans tout ça, pour trouver le temps d'intégrer un moteur javascript à lynx...

Poster un commentaire

Mise en forme historique : pour mettre en valeur un mot ou un groupe de mot, tapez une étoile de part et d'autre, sans mettre d'espace entre l'étoile et le mot, comme ceci : *mise en valeur*. Pour insérer un lien, mettez le entre crochets, comme ceci : [http://instinctive.eu/].

Mise en forme markdown : voir le guide détaillé, en résumé c'est le Markdown traditionnel, sans HTML ni titres, mais avec les tables PHP-Markdown-Extra.

Attention : les balises HTML entrées dans les commentaires seront affichées telles quelles, et non pas interprétées.

Autour de cette page

 

Autour de cet article

  • Publié le 4 décembre 2009 à 19h37
  • État de la bête : overdose de geekisme
  • 7 commentaire(s)
  • Tag : Geek
  • Tag : Goûts

Derniers commentaires

Tags

Archives

Site-level navigation and features

 

Instinctive.eu

Contact

Sections

Validation

Copyright © 2008-2024 Natacha Kerensikova

Butterfly images are copyright © 2008 Shoofly