UNE CLASSE TOUTE BÊTE POUR SAUVEGARDER DES OBJETS

Asrull Messages postés 79 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 17 novembre 2004 - 21 avril 2004 à 16:42
asma206 Messages postés 5 Date d'inscription mardi 3 mai 2011 Statut Membre Dernière intervention 13 juin 2011 - 13 juin 2011 à 02:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/22135-une-classe-toute-bete-pour-sauvegarder-des-objets

asma206 Messages postés 5 Date d'inscription mardi 3 mai 2011 Statut Membre Dernière intervention 13 juin 2011
13 juin 2011 à 02:33
stp main et merci
Asrull Messages postés 79 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 17 novembre 2004 1
22 juin 2004 à 10:40
Tiens c'est vrai ça je n'y avait pas songé. Ce truc est bien plus portable qu'une base de registre. Mais en toute honnêteté MasterFangorn, j'ai plus songé à la simplicité d'utilisation qu'à la portabilité de la classe ... Celà dit ça me conforte quand même de savoir que l'idée n'est pas si stupide que ça.
cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004
22 juin 2004 à 08:23
C'est sur, cela me rend parfois triste aussi de voir comment on peut détruire ce que java nous propose de plus puissant :'(
(Evitons les .bat, registres, .sh,...)

Utilisons les technologies compatibles SVP...
B@ron {EU.BELGIUM}
MasterFangorn Messages postés 6 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 13 août 2004
21 juin 2004 à 20:35
>> Si tu ne t'y connais pas assez en Base de Registre

L'interêt du langage et de la plateforme JAVA c'est justement d'être multiplateforme ; Linux, Windows, Solaris, PDA, Montre, Telephone portable ... Et je me trompe peut-être, mais je n'ai pas vu de BASE DE REGISTRE ailleurs que sous Windows.

La sérialisation d'un objet est une très bonne chose pour des objets de relative petite taille, genre le score d'un casse brique.

Asrull, bravo pour ta classe.
Nightman150 Messages postés 30 Date d'inscription vendredi 17 mai 2002 Statut Membre Dernière intervention 14 juin 2008
11 juin 2004 à 12:49
Je suis d'accord avec toi. Si tu ne t'y connais pas assez en Base de Registre, ça serait délicat de s'aventurer là de dans. ce qui pourrai endommager la base de registre de la machine indispensable pour Windows.
cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004
10 juin 2004 à 14:55
Vous etes marrant, ...
Allez tous en rang...

B@ron {EU.BELGIUM}
Asrull Messages postés 79 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 17 novembre 2004 1
10 juin 2004 à 14:53
il s'agit pas d'un jeu compliqué, il s'agit d'un monopoly et c'est une application que je prépare pour me faire la main en java (dc niveau j'y connais pas grand chose).
L'objectif de cette classe et de stocker une classe "Jeu" qui ne contient que les posistions et noms des joueurs, la liste de leurs propriétés et la valeur de leurs portefeuilles. Sachant qu'il y au maximum 8 joueurs ça nous donnerais avec la trentaine de propriétés du jeu, en bdd relationnelle et en étant généreux, ça nous donnerais une bdd qui ne fera pas plus de 100 lignes (chez moi un bdd c'est au moins 700000 éléments, ça a du drôlement changer depuis si on en fait pour 100 éléments), et j'y connais pas grand chose en base de registres mais vu de mon écran ça a l'air sérieusement lourd.
Je te remercie pour l'info sur les bdd, puisque je vais plancher la dessus mais cette fois si pour mon boulot (interprétation auto sur suivi de chiffre d'affaire).
je suis complètement d'accord avec toi sur la question de l'évolution des moyens de stockages fiables.
Mais pour grand max 20k de textes et de chiffres ... qui ne seront appelées que deux fois dans l'appli à savoir au début pour "charger" la dernière partie et à la fin pour la "sauvegarder" ..., pour une application qui prendra pas la moitié d'une disquette, désolé si ça te déçois mais j'utiliserais un fichier.
Et puis de mémoire le dernier jeu auquel j'ai joué c'était Neverwinter Nights, je pense pas que ce soit si vieux, et les sauvegardes (c'est un RPG, les sauvegardes sont beaucoup plus lourdes que pour un monopoly, tu en conviendras) fonctionnaient trés bien avec des fichiers.
Asrull Messages postés 79 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 17 novembre 2004 1
10 juin 2004 à 14:22
là, j'abandonne.
Nightman150 Messages postés 30 Date d'inscription vendredi 17 mai 2002 Statut Membre Dernière intervention 14 juin 2008
10 juin 2004 à 13:46
Je n'arrive pas à te comprendre franchement Asrull.
Les fichiers c'est à utiliser stocker des informations qu'on veut traiter après
(mise à jour , ajout suppession bla bla bla)
Pour les applications comme les jeux ,
Ou même pour des jeux auusi compliqué comme les échecs on utilise la mémoire centrale de l'ordinateur (Mémoire vive) car l'accés est très rapide en comparaison avec la mémoire de masse.
Je n'ai jamais parlé d'utiliser une bd pour un jeux de monopoly alors arrête qel e répéter s'il te plait.

Pour ce qui est de sauvegarder des parties on utilise la base de registre pour stocker les paramétres du jeux (c'est tout).
D'autre part c'est pas compliqué d'utiliser une base de données voici ce qu'il faut faire, regarde cette page ;
http://java.sun.com/docs/books/tutorial/rmi/implementing.html
Asrull Messages postés 79 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 17 novembre 2004 1
10 juin 2004 à 09:30
Ouaf, grande sagesse de tds, ça soulage, Nightman150 ya rien contre toi et je suis d'accord pour dire que les bdd c'est carement mieux (gt moi même responsable bdd en marketing), et ma classe est simple, bateau sans aucune prétention. Mais en admettant qu'il soit envisageable de monter une bdd pour un monopoly, on apprend toujours un langage par un truc simple (je pense) et moi ça fait a peine deux mois que je me suis posé sur java, et je développe pour le fun (à peine 3h/semaine) ... ... ...
cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004
10 juin 2004 à 07:33
Bon allez, je pense que l'on a compris...

Si je devais faire un monopoly, bien sur que j'utiliserais des fichiers car le nb d'informations ainsi que leur structure reste très simple...
Si les informations sont stockées et ne peuvent être utilisées que pour ce jeu-là alors je sauverais peut-être même les informations via des objets. (Si ce que je dois sauver peut être utilisé par d'autres pgm alors je sauverais que du texte, ce qui rend mes données indépendantes d'une classe...)

Cependant pour la plupart des applications de société, il est requis de passer par une base de données car elles gèrent mieux les données abondantes et les structures complexes... (NB: un DB oracle, sybase,... ne sont que des fichiers organisés...)

B@ron{EU.BELGIUM}
Asrull Messages postés 79 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 17 novembre 2004 1
9 juin 2004 à 17:28
Nightman150, c'est pas pour remettre une couche mais j'insiste. Je te met vraiment au défit de me monter une bdd ou travailler sur des bases de registres pour faire simple Monopoly même pas en réseaux.
Je te met au défi de faire tout ça en même temps que tu planches sur IA joueurs.

De mémoire je connais pas un mec sur terre qui met de l'uranium dans le réservoir de sa deux chevaux.
Nightman150 Messages postés 30 Date d'inscription vendredi 17 mai 2002 Statut Membre Dernière intervention 14 juin 2008
9 juin 2004 à 17:12
Je suis d'accord avec toi Egalon. ça pourrai être utile pour l'informatique industrielle. Ce n'est pas mon domaine de prédilection.
En effectuant des stages dans le cdre de mes études je me suis rendu compte que dans les boites informatiques ça se passe pas comme dans on peut le croire dans les universités!

Je pourrai paraitre un peu chiant en insistant. Mais je persiste à dire
que les fichiers pour stocker des informations c'est plus d'actualités pour ce qui est de l'informatique du génie logicielle.

On travaille maintenant pour créer des bases de données à qu'on pourra interroger en Langage naturelle, on va travaille plus sur de simples fichiers, faut pas déconner.
Egalon Messages postés 124 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 17 juin 2011
8 juin 2004 à 16:40
C'était un exemple très con, je l'admets.
Rassure-toi ce genre de programme est encore très utile dans le monde d'ou je viens: l'informatique industrielle. Apparement semblable à l'informatique, mais réellement différent. Dans ce monde tout n'est pas que Windows ou Linux, il y a des modules programmable en toute sorte de langage et par exemple je travaille sur une carte qui effectue des mesures de température et les revoit sur un pseudo-serveur qui lui fonctionne sous windows et donc qui remplit une DB.

Il y a bien un point sur lequel je suis d'accord avec toi, c'est la consommation de ressources par les objets créés. Et ceci est encore bien plus vrai en informatique industrielle ou les ressources ne sont jamais présente à foison.
Nightman150 Messages postés 30 Date d'inscription vendredi 17 mai 2002 Statut Membre Dernière intervention 14 juin 2008
8 juin 2004 à 14:47
Pour te répondre Egalon, En général on n'utilise pas les fichiers pour sauvegarder des parties de jeux. On utilise la base de registre (si tu vois ce que c'est :) )
Il y a des fonctions prédéfinies qui permettent d'écrire dans la base de registre et c'est pas hypercompliqué.
Sinon on m'as mal compris au sujet des bases de données.
ce que je voulais dire c'est les fichiers sont sensés être utilisés pour stocker
des informations surtout dans le domaine des applications de gestion (fichiers de personnels, fournisseurs etc).
Et il y a longtemps qu'ils ont été remplacé par les bases de données
(plus rapide, fiable et sécurisé)
Maintenant dans les universités on n'enseigne même plus les structures de fichiers (séquentiel , indexé , accès aléatoire) ce n'est plus utilisé
Voila pourquoi je ne vois pas l'intêrét de ce programme.
Egalon Messages postés 124 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 17 juin 2011
8 juin 2004 à 14:13
Ben moi, pour répondre à nightman150, je trouve que sauvegarder des trucs dans un fichier ça peut etre utile. Par exemple, tu joues à un jeu Spuer trop balèze que tu rames tellement pour avanver. Ben ... quand y a une coupure de courant, t'es bien content de reprendre ou t'en étais.

Voila. C'est tout pour les critiques.
Donc je t'encourage vivement à continuer cette source et j'espère que tu arriveras à sauvegarder plusieurs objets dans un fichier.
Asrull Messages postés 79 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 17 novembre 2004 1
28 avril 2004 à 10:40
yo d'aillieurs j'en profite que l'on parle de bdd pour demander de l'aide. J'ai besoin de me connecter (pr un autre projet) à base access et je suis pas trop doié en sql. qqun aurait des supports ou des exemples pas compliqués ) m'indiquer ?
Asrull Messages postés 79 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 17 novembre 2004 1
28 avril 2004 à 10:35
les fichiers ça peut être supprimé ? okay mais c'est pareil pour une bdd. si tous les truc que tu fais sont inutiles passk'ils peuvent être supprimés ben on risque de plus dévelloper grand chose, d'ailleurs vaudrait mieux arrêter l'informatique ... non sans blagues. Je suis d'accord qu'une bdd c'est mieux dans certains cas, mais tu vas pas me faire crois que tu vas te casser la tête à monter une bdd pour une pauvre sauvegarde de partie de monopoly. Le développement c'est aussi un compromis besoin/efficacité/temps. Et si un user s'amuse à supprimer des fichiers par çi par là, qu'il ne s'étonne pas que sa bécane plante .
Celà dit je suis peut être complètement dans le faux et peut être que cette classe est réellement complètement inutile.
cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004
28 avril 2004 à 10:23
CQFD, vaut mieux user des DB :p

B@ron {EU.BELGIUM}
Nightman150 Messages postés 30 Date d'inscription vendredi 17 mai 2002 Statut Membre Dernière intervention 14 juin 2008
28 avril 2004 à 10:12
Ok, ça pourrait être utile pour stocker des trucs comme tu dit,
mais il ne faut pas oublier que les fichiers c'est facile à supprimer,
Pour les sauvegarde de vous ça se passe dans la base de registre de Windows (plus compliqué à supprimer)
D'autre part les fichiers c'est dépassé maintenant on utilise plutôt les bases de données,
En plus tds les objets ça bouffe de la mémoire, faut pas en abuser
cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004
27 avril 2004 à 18:41
Oui, n'oubliez pas les amis que charger un objet prend plus de TEMPS
Par contre, il demande moins de ''Merd..." et de lignes dans le pgm.

J'aime encore bien coder des trucs de oufs, je vais bientôt mettre un lecteur MP3 compatible tout OS :p

B@ron {EU.BELGIUM}
Asrull Messages postés 79 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 17 novembre 2004 1
27 avril 2004 à 18:24
hum, suis d'accord pour les améliorations (je l'ai ai déjà intégrées dans la seconde version de cette classe qui ne va pas tarder), mais je suis pas d'accord avec ton problème d'intérêt. Cette classe ne stocke pas que des String, mais tout objet qui implémente Serializable. Celà me permet de stocker une instance d'objet et de le réccupérer par la suite dans le même état que je l'ai laissé (ex applic : sauvegarde de jeux, bdd, stat, tout ce qui peut toucher à une gestion d'historique ... etc)
Nightman150 Messages postés 30 Date d'inscription vendredi 17 mai 2002 Statut Membre Dernière intervention 14 juin 2008
27 avril 2004 à 17:24
J'ai quelques remaques sur ton code :
- Tu aurais du metter en private les champs :
String nomFichier;
ObjectOutputStream fichierE;
ObjectInputStream fichierL;
boolean ohyeah;
- Tu aurait due spécifiser le nom exacte de l'exception
FileNotFoundException , IOException

Sinon je ne vois pas trop l'interêt de créer une classe pour stocker seulement des string, ça aurait était mieux de la rendre generique
(Si tu vois ce que je veux dire)...
cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004
22 avril 2004 à 07:29
Ben, c'est con j'ai demandé une signature automatique sur mes messages et ca apparait pas :'(
cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004
22 avril 2004 à 07:27
3 merci, c'est trop :p
Il est toujours bon d'avoir plusieurs points de vue sur un même sujet!

T'inquiète, cela sauvegarde très bien les airbus également :p
Asrull Messages postés 79 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 17 novembre 2004 1
21 avril 2004 à 16:43
Yopla, j'ai oublié de remercier tds pour la base du code, c'est maintenant chose faîte.
Asrull Messages postés 79 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 17 novembre 2004 1
21 avril 2004 à 16:42
Yopla, j'ai oublié de remercier tds pour la base du code, c'est maintenant chose faîte.
Asrull Messages postés 79 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 17 novembre 2004 1
21 avril 2004 à 16:42
Yopla, j'ai oublié de remercier tds pour la base du code, c'est maintenant chose faîte.