[java] Convertisseur de bookmarks : choix techniques

Convertisseur de bookmarks : choix techniques [java] - Java - Programmation

Marsh Posté le 26-07-2004 à 16:22:51    

Voilà, j'apprend la prog (en java), et donc pour me perfectionner, j'ai eu dans l'idée de me faire une petite application...plus ou moins utile...
 
Cahier des charges :
- import/export de bookmark Internet explorer (cad bookmarks multifichiers, avec arborescence de répertoire, avec une gestion très nulle des entités HTML : un & amp; reste écrit tel que au lieu d'etre converti en & ...
Note : IE reste compatible avec les bookmark netscape, mais ce n'est pas son format natif, et il les gère mal)
---> utilisation : IE 4.x/5.x/6.x
 
- import/export de bookmark Nestcape (cad bookmarks monolithiques, respectant la DTD Nestcapte bookmark-1)
---> utilisation : Netscape, Gecko based browsers
 
- import/export de bookmarks Opera (là j'y connais rien, si qqn pouvait m'exporter un exemple de fichier bookmark opera, je lui en saurais gré)
--->Opera (version? )
 
- import/export de bookmakrs au format XBEL (bookmarks monolithique au format XML)
--->Konqueror, Galeon, extensions mozilla, etc...
 
Fonctionnalités :  
- conversion de formats
- check de la validité des liens
- check des mises à jour (optionnel, je v voir comment gérer ça mais si ca n'y est pas c pas grave)
- rajouts de mots clé
- recherche (par nom, adresse, mots clé)
 
Choix technologiques (c là que j'ai besoin de vous, je voudrais pas m'embarquer dans un truc compromis d'avance)
Je sais que ca existe déjà (Bookmark bridge entre autres), mais c'est pour apprendre...et j'en ai vu aucun en java, pis ca pourra toujours servir...
 
je voudrais le faire sous forme de standalone, d'applet, et de JNLP...pour me familiariser avec ces différentes formes...
 
- java (forcément :D)
- Swing pour la GUI (volonté de ma part de rester dans du standard)  
   - des arbres
   - tableaux (pour l'info sur les liens)
   - panels en tt genre (pour l'édition, etc...)
   - en gridbaglayout bien sur :D
- pour le XML : là je sais pas trop, faudrait que je lise les tutos...en gros g plein de choix pour le parser là
- pour parser le html : y'a le parseur html de hotjava, qui a pas l'air mal...sinon ben c aussi du XML donc bon
- pour les connections html c tout inclus de base j'ai vu
- des threads qui interagissent avec l'UI, j'avais dans l'idée de faire un petit pool de threads qui prennent la liste de favoris pour les testers...bref, pour m'entrainer à faire une petite synchro de threads...
 
-------------->  Questions  <---------------
 
1) pour la persistance, que choisir, sachant que chaque format a ses subtilités et que je peux pas choisir l'un d'entre eux comme dénominateur commun : je dois faire ma petite sauce...le stockage va certainement intervenir à 3 endroits :  
- stockage de la DB de favoris
- cache de favicons (je crois pas que les formats les stockent)
- index de mots clés...
 
je pense qu'il n'y a que 2 solutions :  
- collections
- système de DB embarqué (y'en a en java ??)
 
Si vous avez des idées de choses à rajouter, ou des conseils techniques, je prends...
 
pour l'instant je réfléchis, je détermine...


Message édité par Jubijub le 26-07-2004 à 17:38:29

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

Marsh Posté le 26-07-2004 à 16:22:51   

Reply

Marsh Posté le 26-07-2004 à 17:58:31    

hsql pour la db embarquée.
 
pour que ce projet soit interessant pour moi, il faudrait que les bmarks soient partagés. c-a-d que, quelque soit la machine sur laquelle je suis, je puisse avoir accès à mes bookmarks synchronisés.

Reply

Marsh Posté le 26-07-2004 à 18:01:41    

donc je dois la penser client/server...
 
pour que ce soit réaliste, je pense que c l'utilisateur qui doit hoster qqpart...
 
mais ca m'intéresse, ca rajoute une dimension...ca me plait même :D...


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

Marsh Posté le 26-07-2004 à 18:15:19    

à toi de voir. soit tu vois ça sous forme d'appli web pour la partie concernant directement le navigateur
(doit y'avoir moyen de se demerder avec qques "favlets", des bookmarks en js quoi) et eventuellement une gui "native" pour import/export...
ou bien une gui pour tout, mais ça me fera chier le jour ou je serai pas chez moi ou sur une machine qui a pas java :o

Reply

Marsh Posté le 26-07-2004 à 18:32:37    

ben sur le principe du plgin de moz, je host mon xbel.xml sur mon serveur perso et je synchronise par ftp soit automatiquement, soit si je le demande...

Reply

Marsh Posté le 26-07-2004 à 18:33:48    

et ça gere les conflits?
(genre si t'as ajouté un bookmark sur une machine et d'autres bookmarks sur une autre machine)

Reply

Marsh Posté le 26-07-2004 à 18:38:05    

non, ca ecrase :/

Reply

Marsh Posté le 26-07-2004 à 18:43:34    

ça c naze :o

Reply

Marsh Posté le 26-07-2004 à 18:46:17    

ben ui mais faute de mieux, j'ai pris ce truc, ca me permet au moins d'avoir la meme chos entre mon portable de taff et ma station au taff, le probleme est que c'est uniquement firefox, j'aimerai la meme chose pour opera et safari  
(t'as compris Jubijub [:ddr555])

Reply

Marsh Posté le 26-07-2004 à 21:14:04    

g compris...
 
avec gestion des conflits (c bien ca s'affine...)
 
--> -- : je vise du java, donc pas de javascript...vu que je peux tt faire en java pour ce dont j'ai besoin, je vais pas me faire chier avec du js


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

Marsh Posté le 26-07-2004 à 21:14:04   

Reply

Marsh Posté le 26-07-2004 à 21:25:27    

jte parle de js dans un browser pour faire des trucs du genre "ajouter un bookmark"


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 26-07-2004 à 22:20:16    

ah, tu veux dire que le server serve une page avec un formulaire d'édition...je voyais pas ca comme ca...je pensais plus à une applet...


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

Marsh Posté le 26-07-2004 à 23:17:44    

non mais interagir directement avec le browser je pense, ajouter un bouton dedans :)


---------------
IVG en france
Reply

Marsh Posté le 26-07-2004 à 23:49:49    

hum...avec une appli java, tu écrases les fichiers bookmark.html ...pis ca suffit :D


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

Marsh Posté le 27-07-2004 à 12:22:41    

Jubijub a écrit :

je pensais plus à une applet...


ouais, je pense aussi que ce serait une bonne idée, comme ça si tu fais un moteur d'affichage/parsing pour ton appli, tu pourras le récuprérer pour l'applet direct.
 
vachement intéressant ce projet :)

Reply

Marsh Posté le 27-07-2004 à 12:34:21    

d'ailleurs, ça a pas grand chose à voir, mais j'ai eu une idée ya pas longtemps : une mega db de bookmarks en ligne
je m'explique.
 
Jubijub > imagine un crash quelconque qui fasse que tu viens de paumer tes bookmarks (bon j'avoue si ya une copie sur ftp et sur ton disque c'est vraiment pas de bol mais admettons.. une fausse manip voilà).
moi ça m'est arrivé 2, 3 fois et c'est vraiment galère de tout retrouver.
alors, j'me m'imaginais un serveur qui stocke des milliers de bookmarks, bien rangés par catégories, voir même des combo, des packs postés par des utilisateurs, notés pourquoi pas etc...
 
et donc moi par exemple, je vais aller sur la page, je vais cocher les checkboxes :
- Informatique > Programmation > Java
- Informatique > Programmation > ...
....
- Musique > Musiques électoniques
- ...
 
je vais choisir toutes les catégories > sous catégories qui m'intéressent, voir même je vais prendre des packages tous faits, et ça va ma générer un bookmark.html en or qui sera loin d'être celui que j'avais au début mais qui va me faire gagner vachement de temps.
 
j'imagine le truc trop classe avec des téléchargements depuis l'appli :p
 
bon, là c'est vraiment rien à voir, mais bon, je lance l'idée, y'en a ptet que ça intéressera.


Message édité par raytaller le 27-07-2004 à 12:35:04
Reply

Marsh Posté le 27-07-2004 à 14:36:05    

ca existe déjà, ca s'appelle Yahoo.com :p [:rofl]...
 
ca serait pas mal, mais dès que ca prendrait de l'ampleur, ce serait trop la merde : entre potes, ou entre gens d'ici par ex, dont tu sais qu'ils vont pas bookmarker n'importe quoi, ce serait génial...
 
a plus, t'a les spammer qui vont venir, et ca serait le bordel...
 
mais je garde l'idée du package de bookmarks...ca c pas con...genre dans un topic unik avec plein de lien (genre topic java, topic xhtml, etc...), le gars peut fournir un fichier pack, pour que les gars puissent directement intégrer le bouzin...
 
très très bonne idée...je suis très content, ce projet prend tournure...


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

Marsh Posté le 27-07-2004 à 18:12:55    

Jubijub a écrit :


a plus, t'a les spammer qui vont venir, et ca serait le bordel...


 
c'est clair.
 
mais imagine que les utilisateurs puissent mettre des notes... genre package machin, vu 654540 fois, 10 étoiles
bon, c'est peut-être une blague mais de toutes façons, rien n'empeiche de jetter un coup d'oeil
 
enfin, moi je dis ça, j'ai pas envie de transformer ton projet bien parti en un truc de ouf qui va forcément se casser la gueule mais bon :D

Reply

Marsh Posté le 27-07-2004 à 18:14:43    

d'autant plus que je pourrais pas monter de server centralisé...on pourrais faire un server de bookmark collaboriatif, mais je me demande l'intéret...surtout avec la posibilité de faire des packs de bookmark...y suffit de laisser en partage le fichier qui gère ca...quitte à le foutre dans un SCM..


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

Marsh Posté le 27-07-2004 à 18:20:04    

Jubijub a écrit :

d'autant plus que je pourrais pas monter de server centralisé...on pourrais faire un server de bookmark collaboriatif, mais je me demande l'intéret.


 
[:cupra]

Reply

Marsh Posté le 27-07-2004 à 18:28:41    

Jubijub a écrit :

d'autant plus que je pourrais pas monter de server centralisé...on pourrais faire un server de bookmark collaboriatif, mais je me demande l'intéret...


 :love:

Reply

Marsh Posté le 27-07-2004 à 18:29:00    

je l'interpète comment ce [:cupra] :  
 
- t'en a besoin pour lucane, donc ca t'intéresse
- t'en a besoin pour lucane, dont tu l'a déjà fait...
- autre hypothèse :D


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

Marsh Posté le 27-07-2004 à 18:35:02    

Jubijub a écrit :

- t'en a besoin pour lucane, donc ca t'intéresse


 :whistle:  

Reply

Marsh Posté le 27-07-2004 à 18:35:49    

après vérif, il s'avère que le XBEL implémente tout ce dont j'ai besoin...ca va donc etre le langage de mon format d'échange...(y'a les séparateur, plein de métadata partout pour foutre des infos genre user, commentaire, etc...)


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

Marsh Posté le 27-07-2004 à 18:43:17    

franchement je suis fou de joie : je pars d'une idée de projet bidon, je m'attendais à ce que les gens me jettent des pierres...pis en fait non seulement ca intéresse les gens, mais en plus ca a l'air d'etre une bonne idée, utile en plus...
 
je suis tout fou...mais c un gros challenge pour moi, comme je le précise c pour me former...donc la V1 risque d'etre très laide :D...
 
-->lorill : ben écoute y'a qu'à m'expliquer comment tu envisages ca...
 
je vois ca comme ca : comme dit le poste au dessus, je peux stocker le user à qui "appartient" le bookmark...après, ben je reprend un système de copy/update/merge classique :  
- lorsque qu'un user synchronise ses bookmarks, je stocke la date et l'heure...
- lorsqu'il tente de commit ses bookmarks, je teste la date et l'heure : ce qui n'ont pas changé ben rien ne se passe, ce dont un plus récent existe sur le server, ben c simple :
    - le user n'avait pas modifié celui là, donc rien ne se passe
    - le user a aussi modifié celui là : conflit, le dernier qui commit doit arbitrer quelle version garder...
 
une vérif sur adresse + date doit suffir...après faut que je réfléchisse au cas où un user foute un bordel montre en réorganisant ses bookmarks...auquel cas faut aussi checker le chemin absolu du boomark, exprimé en root + folder1 + folder2 + ... + folder n + bookmark et tester si ca change...


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

Marsh Posté le 27-07-2004 à 18:47:27    

nan mais en fait je n'y ait pas du tout reflechi encore, donc je peux pas trop t'orienter...

Reply

Marsh Posté le 27-07-2004 à 18:53:10    

ok...je suis content ca avance bien...je v pouvoir avoir des specs détaillées...


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

Marsh Posté le 27-07-2004 à 18:54:09    

Si tu veux, je peux t'envoyer un fichier bookmark Opera, je pense qu'ils fournissent également un format d'export mais je n'ai jamais essayé.
Par contre, comme ils ont intégré un moteur de recherche similaire à celui de leur mail, je n'ai jamais regardé si leurs bookmarks étaient en clair ou non.

Reply

Marsh Posté le 27-07-2004 à 21:13:49    

je veux bien , je te PM le mail  


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

Marsh Posté le 27-07-2004 à 21:33:31    

Jubijub a écrit :

ca existe déjà, ca s'appelle Yahoo.com :p [:rofl]...
 
ca serait pas mal, mais dès que ca prendrait de l'ampleur, ce serait trop la merde : entre potes, ou entre gens d'ici par ex, dont tu sais qu'ils vont pas bookmarker n'importe quoi, ce serait génial...
 
a plus, t'a les spammer qui vont venir, et ca serait le bordel...

mais je garde l'idée du package de bookmarks...ca c pas con...genre dans un topic unik avec plein de lien (genre topic java, topic xhtml, etc...), le gars peut fournir un fichier pack, pour que les gars puissent directement intégrer le bouzin...

 
très très bonne idée...je suis très content, ce projet prend tournure...


on a ça pour les topics de liens sur WSR et OSA ; fait à la main par le courageux Aschrak


Message édité par Mjules le 27-07-2004 à 21:33:52

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 27-07-2004 à 21:35:40    

je sais, l'idée était familière.... :D ...


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

Marsh Posté le 28-07-2004 à 18:31:01    

-->chiotte : les bookmarks Netscape ne sont pas valides XML...je v donc devoir adapter un parseur html...:/


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

Marsh Posté le 18-11-2004 à 22:40:16    

bon safari, ca pue du fion mais grave. les bookmark sont dans un fichier bookmark.plist totalement imbuvable avec un XML bizarre (si tu le veux, dis  moi, je t'envois le mien mais pas d'import possible que je sache)
 
 apres une petite manip en ligne de commande, on peut faire apparaitre un menu debug qui permet l'import et l'export de bookmark ( http://www.macosxhints.com/article [...] 8230304761 , c'est ce que j'ai fais). On peut alors importer des bookmark de ff/mozilla au format html, ou exporter en html egalement.
 
ce meme menu propose meme l'import de signet IE, NS ou Mozilla pour ceux present sur la meme machine (pas grand interet ici)


Message édité par uriel le 18-11-2004 à 22:41:09

---------------
IVG en france
Reply

Marsh Posté le 19-11-2004 à 07:39:01    

--> a tous les coups c du RDF à chier contre ...c surement génial à automatiser, mais putain que c relou à lire..en plus c inexploitable si c pas parsé (le format netscape, il te suffit de lancer le fichier, et t'a une jolie présentation en HTML...pour IE les noms de fichiers sont explicites...le XBEL ca va encore...mais le RDF, c horrible...Epiphany a un format dans le style, une boucherie...


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

Marsh Posté le 19-11-2004 à 07:46:00    

bah le probleme c'est surtout que tu peux pas le mettre a jour facilement, genre il faudrait ecraser le fichier, parce que par defaut y a pas de fonction d'import.  
sauf avec le menu debug dont je parlais et a ce moment la, autant choisir le format HTML pour l'import/export


---------------
IVG en france
Reply

Marsh Posté le 19-11-2004 à 07:54:00    

le debut de mon fichier plist:

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5. <key>Children</key>
  6. <array>
  7.  <dict>
  8.   <key>Children</key>
  9.   <array>
  10.    <dict>
  11.     <key>Children</key>
  12.     <array>
  13.      <dict>
  14.       <key>URIDictionary</key>
  15.       <dict>
  16.        <key></key>
  17.        <string>http://isi4.isiknowledge.com/portal.cgi</string>
  18.        <key>lastVisitedDate</key>
  19.        <string>120317491.2</string>
  20.        <key>title</key>
  21.        <string>ISI Web of Knowledge [v2.0]</string>
  22.       </dict>
  23.       <key>URLString</key>
  24.       <string>http://isi4.isiknowledge.com/portal.cgi</string>
  25.       <key>WebBookmarkType</key>
  26.       <string>WebBookmarkTypeLeaf</string>
  27.       <key>WebBookmarkUUID</key>
  28.       <string>04EB8789-25C1-11D9-A192-000A95B18F76</string>
  29.      </dict>
  30.      <dict>
  31.       <key>URIDictionary</key>
  32.       <dict>
  33.        <key></key>
  34.        <string>http://wos.consortium.ch/</string>
  35.        <key>lastVisitedDate</key>
  36.        <string>120317491.2</string>
  37.        <key>title</key>
  38.        <string>Web of Science VPN</string>
  39.       </dict>
  40.       <key>URLString</key>
  41.       <string>http://wos.consortium.ch/</string>
  42.       <key>WebBookmarkType</key>
  43.       <string>WebBookmarkTypeLeaf</string>
  44.       <key>WebBookmarkUUID</key>
  45.       <string>04EB8A60-25C1-11D9-A192-000A95B18F76</string>
  46.      </dict>


 
vraiment, tu devrais pas t'occuper de ca et focuser sur le html (le menu debug est pas dur a utiliser)


Message édité par uriel le 19-11-2004 à 07:55:21

---------------
IVG en france
Reply

Marsh Posté le 19-11-2004 à 18:43:46    

ok, g vu...je m'étais rensigné sur ce format, c un format Apple....générique, un peu comme le RDF


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

Marsh Posté le 19-11-2004 à 22:08:25    

au fait, il en est où ce soft ?


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 19-11-2004 à 22:18:32    

honnetement ? pas eu le temps d'avancer dessus...g un taf de dingue à la fac...de temps en temps je jette un oeil...le modèle de base est presque terminé...


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

Marsh Posté le 04-12-2004 à 10:41:52    

Salut, et respect pour ton projet
 
(Ancien ingénieur système, 17 ans,au CEA, Centralien), je suis en train de terminer, après 2 ans de travail acharné (à plein temps, free lance) ) un (très gros) logiciel bookmarks manager en Java 1.4 : plus de 70000 lignes de codes (200 classes principales..).  Je pense que la gestion des bookmarks est, et deviendra de plus en plus, un des points clé de l'utilisation d'Internet, et donc de la vie moderne..
 
Je l'ai pensé très ambitieux, mais on n'a pas le choix dans ce domaine difficile: il y a beaucoup de tentatives disparates d'améliorer la situation, j'ai essayé de faire un outil fondamental, pérenne, extensible...
Le logiciel est actuellement opérationnel et démontrable: packagé en seule archive ".jar", il n'a besoin que d'une machine virtulle Java 1.4.
 
Je pense qu'il offre des caracéristiques exclusives actuellement; en très résumé:
 1.Support multiples fenetres/multiples collections (on peut, en quelques clicks, couper une très grosse collection en plusieurs, et les réunir à la demande, (certains américains ont 30000 adresses !,  donc permet d'avoir des collections différentes pour le travail, les hobbies, le commerce électronique...)
2.Recherche avancée (full boolean expression, recherche incrémentale, support du wilcard "*", regular expression (optionnel)...), affichage du sous-arbre encapsulant le résultat d'une recherche
popup menu pratique "Show Node in Tree", depuis par exemple la liste = résulat de recherche permettant de montrer ("expander" ) la node dans le tree, sans avoir avec selectionner et expander chaque sous-dossiers
3. Gestion fine des mot-clés, et ainsi possibilité de gérer la collection sous forme d'une seules liste ,si l'on veut (a la limite), comme le fait PowerMarks, mais support complet évidemment du mode arborescent, drag-and-drop de nodes (dossier ou bookmark)..
4 Undo/Redo général, support d'une poubelle,
5 Import/export entre Favoris IE, Netscape/Mozilla, Opera, mon propre format XML (utilisé en interne), Safari (au autre XML),  
6 Liaison avec les navigateurs: affichage et "Add Bookmark" feature dans 3 browsers (en cours..)  
7 Test validité des URLs , fetch infos des URls, tout outil pour voir/supprimer les "dead links": affichage des bookmarks organisées par status : les "OK", les deads links avec autant de sous-dossiers que de types d'erreur
8 Montrer/suprimmer duplicated bookmarks, outil de merging de dossier dupliqués..
9 Export en format text (exemple:pour impression..)  
10 Extraction des URLs de n'importe quel fichier text, avec fetch automatique du nom, keyword..
Etc...
 Je t'envoie la présensation (fichier Html) dès que je connais ton email).  
Je serai vraiment très heureux d'en parler , et de te rencontrer, pour échanger, et peut-etre s'associer ? (NB. je compte le vendre et/ou en tirer des revenus..au pire un shareware)
Bertrand Couzy . Meudon.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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