summaryrefslogtreecommitdiff
path: root/content/Informatique/2012-02-18-elinks.rst
blob: bac91ba4212abf395ef348184e381de2f94f48b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
.. -*- rst -*-
.. -*-  coding: utf-8 -*-

Scripter elinks
###############

:date: 2012-02-18
:tags: Libre

elinks_ est un navigateur web, destiné à être utilisé en console. Il s'agit
pour moi d'un très bon navigateur secondaire, en complément de firefox, qui à
l'avantage de permettre une navigation légère, sans effets de javascript,
publicités, idéale pour lire l'actualité, un peu moins pour faire une recherche
sur un sujet.

La semaine dernière, j'ai envoyé un message_ sur la mailing list du projet pour
indiquer que je souhaitai entreprendre quelques modifications dans le code dans
le but de le rendre davantage modulaire. Il est nativement scriptable dans
différents langages (lua, python, perl...) mais les possbilités de scripts
restent très limitées et ne permettent pas de changer grand chose au
comportement du navigateur. Quand on a pri l'habitude de pouvoir configurer
ses applications comme on le souhaite, cela devient difficile de ne pas pouvoir
le faire.

J'ai donc choisi de me pencher davantage sur le langage lua pour mettre en
place les modifications voulues. J'ai déjà une expérience du lua comme scripts
côté client, pour l'instant jamais du côté de l'API C. Après avoir lutté un
petit peu, j'ai fini par comprendre et suis aujourd'hui en train de mettre les
objets qui m'intéressent.

Le but est de permettre de scripter complètement la navigation : aujourd'hui,
les seules interractions possibles permettent de modifier l'URL au moment où
celle-ci est entrée, mais aucun accès au document n'est donné : impossible de
récupérer les URLs, impossible de sélectionner un lien dans la page, ou de
naviguer dans celle-ci. C'est tout cela que je souhaite mettre en place, en
proposant une API orientée objet qui sera modulable et réutilisable par la
suite.

Pour l'instant, les modifications ne sont pas encore visibles, je fais le
commit sur mon propre serveur git, mais je rendrai public mon projet dès que
j'aurai obtenu un résultat intéressant : je n'attendrai pas d'avoir fini pour
tout publier; soyez patient !

.. _elinks: http://elinks.or.cz/index.html
.. _message: http://linuxfromscratch.org/pipermail/elinks-dev/2012-February/002049.html