Ok, Jakarta HttpClient a résolu la problématique d'interfaçage en me permettant de récupérer les pages HTML, de poster des formulaires et de gérer les cookies.
Mais, il me restait encore la question du parsing HTML pour pouvoir récupérer les informations voulues.
J'ai imaginé différentes solutions avec plus ou moins de succès.
Finalement, j'ai opté pour celle qui me se semble la plus souple et adaptable facilement (on sait jamais si l'auteur du site cible aurait par exemple la bonne idée de changer son layout).
L'idée de base que j'ai voulu développer consiste à parser la page web vue comme un document XML.
Mais comme le HTML trouvé sur le web est non conforme dans au moins 90% des cas au bas mot, il m'a fallu utiliser au préalable un convertisseur-nettoyeur HTML -> XML.
D'après mes recherches, le parser Java qui a le plus le vent en poupe est TagSoup. Je l'ai testé, franchement il est médiocre. Pas mal de choses ne sont pas parsées correctement, inutilisale pour ma part.
Je me suis rabattu sur Apache CyberNeko HTML qui lui me sort un document XML aux petits oignons.
Reste ensuite la question de l'extraction d'informations à partir du XML. Et pour ça la nature est bien faite puisqu'il existe un langage de requête fait pour ça et, cerise sur le gateau, normalisé par le W3C. Ce langage c'est XQuery.
Le parser XML Xercès sur lequel s'appuie CyberNeko n'implémentant pas XQuery, je me suis rabattu sur le requêteur XQuery Java dénommé SAXON.
Avec ces briques, je me suis fait un proof-of-concept de cette chaine de traitement et ça marche du feu de dieu !
Bon, maintenant que les contraintes techniques sont résolues, il me reste "plus" qu'à batir mon appplication là dessus.