Front-end java pour forum web. Comment faire ?

Front-end java pour forum web. Comment faire ? - Java - Programmation

Marsh Posté le 05-04-2007 à 16:38:41    

Bonjour,
 
Je souhaiterais créer un front-end en java pour permettre d'interagir avec un forum web sans utiliser de browser.
Pour cela, j'aurais besoin d'un parser de pages qui permettrait d'obtenir les "HTML forms", d'accéder et éditer leurs champs.  
De plus, il faudrait que je puisse ensuite soumettre ces forms au site web.
 
Comment puis je m'y prendre ?
 
Merci

Reply

Marsh Posté le 05-04-2007 à 16:38:41   

Reply

Marsh Posté le 05-04-2007 à 16:52:13    

avec beaucoup de courrage :D
 
sérieusement, aucune idée en java.
 
regarde si t'as une classe comme en .NET "webclient", qui permet de charger une page web et accéder ensuite à son contenu via des objets comme en javascript.

Reply

Marsh Posté le 05-04-2007 à 17:35:13    

Oui, je crois que je me suis fixé un bon défi là. J'espère que je ne vais pas lacher en cours de route comme souvent ...
 
Bon j'ai réussi à dénicher un composant qui pourrait m'aider à implémenter mon projet : Apache Jakarta HttpClient
 
Faut que je m'y plonge ...

Reply

Marsh Posté le 09-04-2007 à 18:13:35    

y'a un parser HTML de base dans Java qui sait donc lire le HTML...
 
idéalement si le forum que tu veux consulter est XHTML, un simple parseur XML te suffit...
 
de tt façon tous les parsers feront la chose suivante : ils te demanderont d'implémenter des méthodes à appeler en cas de détection d'un div, d'un <p>, etc...
 
Sinon y'a peut etre plus simple si tu veux juste poster, mais pas lire : il te suffit de savoir à quoi ressemble ce que renvoit le forum quand tu postes (y'a une extension firefox pour ça, c'est web developper je crois), et du coup envoyer exactement la même chose...


Message édité par Jubijub le 09-04-2007 à 18:15:25

---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 10-04-2007 à 13:37:09    

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 !  [:trompette1]  
Bon, maintenant que les contraintes techniques sont résolues, il me reste "plus" qu'à batir mon appplication là dessus. :bounce:

Reply

Marsh Posté le 10-04-2007 à 20:35:45    

c quoi le but final tu veux en faire quoi de ces infos ?


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 11-04-2007 à 16:10:17    

Héhé, bonne question.  
 
L'idée d'interaction avec un forum web que j'ai évoqué dans mon premier post était un peu un prétexte.  
Mon projet est un peu plus complexe en fait.  :whistle:  
 
Mais le but est sans importance, c'est un dev. perso à usage perso. Enfin pour le moment en tout cas. :hello:

Message cité 1 fois
Message édité par kizkoool le 11-04-2007 à 18:03:40
Reply

Marsh Posté le 11-04-2007 à 20:01:31    

un spambot :D


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 11-04-2007 à 20:57:32    

kizkoool a écrit :

Mais le but est sans importance, c'est un dev. perso à usage perso. Enfin pour le moment en tout cas. :hello:


 
Moi j'dis qu'il faut en faire la base d'un projet open-source d'office, en tant que chef de projet, effectivement je crois qu'un frontal graphique d'edition de site web n'existe pas encore (sauf peut etre des navigateurs comme SeaMonkey dont la partie edition sait se connecter en WebDav).
Etre responsable d'un bon projet open-source, c'est le meilleur moyen de se faire connaitre sur le plan professionnel.
Si ca marche bien, tu feras partie des elus qui n'ont plus besoin de publier leur CV pour trouver du boulot et que les boites vont chercher  [:vancrayenest]  ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed