Base de donées intégrée

yanipig Messages postés 28 Date d'inscription jeudi 16 mai 2002 Statut Membre Dernière intervention 12 décembre 2005 - 2 janv. 2003 à 16:05
yanipig Messages postés 28 Date d'inscription jeudi 16 mai 2002 Statut Membre Dernière intervention 12 décembre 2005 - 22 août 2005 à 18:31
Bonjour à tous,

Je dois développer une application client transportable contenant une base de données.

Bien entendu, je ne peux demander aux utilisateurs de télécharger telle SGDB, de la paramétrer,...

Je voudrais savoir comment s appelle le principe d'inclure une sgdb légère à mon code et me dire où et comment trouver de la doc à ce sujet.

Est-ce que mon application restera multipateforme?

(Si celà est utile à la réponse, je travailles avec JB6)

Un grand merci.

yanipig@yahoo.fr

11 réponses

JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
2 janv. 2003 à 19:06
En fait, en général, la base de données se trouve sur un serveur et est consulté par les clients à distance, donc pas de téléchargement.
Pour la communication avec la base de données, il te faudra utiliser la partie JDBC de Java, dont une large partie se trouve dans le package java.sql
Ensuite pour communiquer avec la base, il faut te renseigner sur RMI et les servelets (ou servlets, j'ai un doute), pour voir quelle est la meilleur stratégie à adopter selon ton cas d'utilisation.
Pour la doc, je te site ce que je considére la première source a consulter avant tout : www.java.sun.com, également le site de ta base de données, pour Oracle, par exemple, ils donnent de bon conseille, sur l'implémentation de la base, sa sécurité, et bien sur, ils te foursnissent le driver.
La solution sera portable, puisque le client n'utilisera que Java.
JHelp
yanipig Messages postés 28 Date d'inscription jeudi 16 mai 2002 Statut Membre Dernière intervention 12 décembre 2005
3 janv. 2003 à 00:20
Mon problème est un peu différent ...
Mon projet est de travailler sur les fichiers MP3, et cette base de données de tags ne seront pas connectées à un serveur,
elle seront indépendantes.

* Je ne peux travailler avec des fichiers textes
* je ne peux demander aux utilisateurs d'installer un SGBD

Comme le fait +- music match ou plein d'autres logiciels.

Comme c'est pour un projet de fin d'étude (et pour mon plaisir personnel ;) ), il faut que l'accès soit performant .

Ce qui m'aiderait déjà beaucoup c'est une piste de recherche ... le nom de ce procédé !

Bien à toi et merci.

yanipig
JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
3 janv. 2003 à 11:57
Je vois, si je comprends bien tu veux que les utilisateurs stokent des MP3 en local, et puissent se les échanger via le net, un peu comme Napster.
Dans ce cas, il te faudra signer tes applets, pour avoir accées à une partie du disque dur, donc renseigne toi sur la signature des applets sous Nestscape et IE (deux façons différentes, je sais c'est un peu contraignant, mais bon c'est une question de stratégie de sécuritée)
Ensuite il te faudra pouvoir échanger les données, là les sockets te seront d'un grand secours, totalement portable.
Donc renseigne toi sur les Sockets, et les classes qui gravites autour dans le package java.net.
Pour faciliter les échanges entre socket on utilise des tunnels (traduction personel de Pipe), Les classes Piped... du package java.io te seront utiles. L'intéret d'utiliser un Pipe est qu'un fois la connection établit les échanges se feront toujours à travers ce tunnel, en plus pour la détection de la déconnection c'est assez simple à mettre en place.
Bon voilà en gros dans quelles directions tu peux cherchées.
Bon courage, il y a pas mal de travail en vue.
JHelp
yanipig Messages postés 28 Date d'inscription jeudi 16 mai 2002 Statut Membre Dernière intervention 12 décembre 2005
3 janv. 2003 à 15:51
Pour le travail, je sais .... plus j'avances et plus il fait noir :big)

Merci pour tes précieux conseils ... continue ainsi c'est génial.

ps: je te dirais bien à charge de revange ... mais je n'ai certainement pas grand chose à t'apprendre. ;)

Encore merci.

Yanipig.

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zhicham300 Messages postés 12 Date d'inscription vendredi 29 janvier 2010 Statut Membre Dernière intervention 27 mai 2005
11 févr. 2004 à 13:44
voila moi aussi j ai un projet de fin d'etudes , comme le tien, mais je suis bloc sur commnt lire des mp3 avec java si tu peut m aide, merci bcp
et aussi convertire un .wav a in .mp3
merci d'avence
JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
11 févr. 2004 à 14:17
Pour lire le mp3 sous Java, c''est pas simple.
Il n'existe pas de package "standard" qui permet de le faire simplement.
Il va te falloir regarder du coté de l'Open Source, le site sourceforge (.com, .net ou .org, sais plus) rassemble pas mal de projets OpenSource. Par contre c'est en Anglais (C'est une zone d'échange internationale) et ton projet devrait respecté la licence GPL pour rester légale.
Sinon, si tu veux vendre ton logiciel, il faudra soit acheter un composant à une sociétée, soit en faire un toi même. Bon mes infos datent un peu, alors il existe peut-être une version gratuite sans contrainte.
Pour le faire il te faudra : 1) connaitre le format mp3 (comment il es organiser, ect) 2) Regarder et comprendre comment fonctionne jaxa.sound, utiliser leurs interfaces, leurs donner un corps, ...
Pour la conversion, même remarque.
JHelp
JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
11 févr. 2004 à 14:18
faute de frappe : javax.sound biensur, pas jaxa
JHelp
boucle_d_ore Messages postés 1 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 12 janvier 2005
12 janv. 2005 à 23:58
Salut,

J'ai un peu le même genre de problème que yanipig mais je n'ai pas bien saisi la solution proposée par JHelp.

Pour mon plaisir personnel, je suis en train de concevoir une appli (qui sera en Java) de gestion de collections (musiques, videos ou n'importe quoi) avec possibilité de gérer des comptes utilisateurs (sur une même machine).

Je pensais donc utiliser en ce qui concerne les données persistantes (à savoir les collections, les comptes utilisateurs, etc.) une base de données. Mais tout comme yanipig j'aimerais trouver un moyen d'utiliser une BD sans demander à l'utilisateur au moment de l'installation de mon appli d'aller chercher telle SGBD, de l'installer et de la configurer. Je voudrais un moyen de faire ca de manière transparente. L'utilisateur installe mon appli et hop! il y a une BD prete à l'emploi pour recevoir ses collections et tout.

Alors je ne sais pas si c'est possible. Je sais qu'en C il y a une librairie qui s'appelle SQLite qui permet
de ne pas avoir à installer une BD et de faire de simples appels à la librairie. Existe-il un moyen en Java?

NB : concernant la reponse de JHelp au sujet des applets, je ne comptais pas en utiliser. Je comptais plutot faire une simple IHM avec AWT ou SWING.

Merci d'avance.
kokojavafr Messages postés 23 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 12 septembre 2005 1
22 août 2005 à 13:54
bonjour

je cherche la meme chose boucle_d_ore.

Qu'as tu trouvé ?
JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
22 août 2005 à 16:12
Bonjour,

Je me suis peut être mal exprimé plus haut.

En fait, la Base de donnée doit se trouver à un seul endroit, le
serveur. Ensuite les applications clients elles n'ont pas besoin de
savoir quelle SGBD est derriere. Puisque tu fournis à tes utilisateurs
une applications, rien ne t'empéche d'inclure dans l'intallation de
celle-ci le driver de la base de donnée avec laquelle l'appli doit
comuniquer. Ainsi tout sera bien transparent. Surtout si tu choisit un
driver de type 3 ou 4, c'est portable sur toute plateforme :-)

Maintenantsi c'est une application d'échange de fichier, tu n'as peut
être pas besoin d'une base de données, tu peux tres bien faire un
serveur qui collecte les descriptions des fichiers en dynamiques et le
serveur lui communique avec une bdd. Mais du coté client eux ils n'y
ont pas acces, ils font leur demande via le serveur. C'est le serveur
qui ensuite les "branchent" entre eux.

Est-ce que ce second type d'architecture réponds mieux à ton attente ?

JHelp
yanipig Messages postés 28 Date d'inscription jeudi 16 mai 2002 Statut Membre Dernière intervention 12 décembre 2005
22 août 2005 à 18:31
Bonjour à tous,

Ca fait plaisir de voir un post encore actif après plus deux ans.

Lors de mon TFE, j ai pu compter sur l'aide de pas mal de personnes et surtout sur ce site. (un grand merci à eux au passage)


Mon TFE est un catalogueur de fichiers MP3 (seulement eux), il organisait et permetait de modifier les repères de pistes. MAIS NE LIT LES MP3.

Titre : Application web (3/3) degestion complète de collection de fichiers Mp3
et repères de pistes

Technologies : Jsp, servlet, JDBC, XML, HTML, Eclipse, Jbuilder, Apache, Tomcat, MySql, HSqlBb, Dom4j, Swing, ...

L'utilisateur a le choix :

1. soit explorer les dossiers via une arborescence style windows
2. soit explorer les fichiers organisés dans une base de données

J ai utilisé un SGBD embarqué dans le code, càd, un package java à ajouter dans le .jar et qui gérait le stockage et l'organisation sur disque des repères de piste de manière totalement transparent à l'utilisateur. Ce système se trouve à l'adresse http://www.hsqldb.org/

Les repères de pistes pouvaient être édités manuellement automatiquement, un par un ou en masse, via l'explorateur de fichiers ou l'explorateur de la BD. Son option la plus intéressante consistait à consulter mon serveur MySql via Tomcat efin de proposer des modifications de tags.

La BD du serveur était remplie grâce à http://www.freedb.org/

Les repères de pistes étaient lus grace au package : http://sourceforge.net/projects/jd3lib/

Je peux fournir le prog, les sources, mon dossier et mon aide à qui veut.

Je n'ai pas partagé ce projet pour de regrétables raisons:

1. Mon serveur n'est plus actif, quotat ADSL oblige. De plus je n'ai trouvé aucun hébergeur prêt a accueillir une base de données de plusiseurs centaines de mégas et pouvant accepter servlet et jsp.
2. Les interfaces sont complètes mais un peu tordues, pas toujours soignées.
3. Je n'ai pas convenablement commenté mon source, et remercié les auteurs de certains bouts de codes choisis. (comme le veut la licence GPL)
4. Code non optimisé.
5. ID3Tag-it (gratuit : http://www.id3-tagit.de/) fait la mm chose, et est plus performant.
6. Démarrage lent, si BD fort chargée.
7. Algo de scan de fichiers naif donc lent

> a part ca, ca marche impec ;-)


J'espère avoir été clair : L'excès de concision peut nuire à la clarté ;-)


Bien à vous tous.

Et bonne chance, pour ceux qui entament ce genre de sujet.
Rejoignez-nous