[Stratégie] Configuration d'un programme
Bonsoir,
J'ai fait un petit programme qui peut etre un petit peu configuré, ce serait juste des variables, par exemple smtp = "smtp.etc.ch". Mais je ne sais trop comment faire ca... Je pourrais tout mettre dans un fichier .txt, mais c'est pas tres propre... L'utilisateur devra pouvoir changer ces valeurs lui-meme via le programme.
Et à plus long terme, je pense mettre une option de langue, là encore je me pose les mêmes questions.
J'ai entendu parler des fichiers properties, mais je ne sais pas si c'est ce qui me convient vraiment.
Et encore autre chose, je l'écris où ce fichier ?
Je ne sais pas si j'ai été vraiment clair ?
Merci
Re: Configuration d'un programme
Salut,
Citation:
Envoyé par wichtounet
Je pourrais tout mettre dans un fichier .txt, mais c'est pas tres propre...
En quoi le fait de sauvegarder la configuration dans un fichier texte ne serait pas propre ???
Avec Java il y a deux alternatives standards : les fichiers *.properties (qui ne sont rien d'autres que des fichiers textes "clef=valeur") ou utiliser la classe Preferences...
Avec cette dernière la sauvegarde des données dépend de la JVM et du système (cela peut être dans un fichier *.properties, dans un fichier XML, ou autres comme la base de registre sous Windows). Ainsi tu ne peux pas savoir exactement où sont stocké les données. Tu dois donc obligatoirement passer par la classe Preferences...
Alors que les fichiers *.properties peuvent être manipulé directement (ce qui peut s'avérer utile pour le déploiement par exemple).
Si tu utilises Java 5.0 tu peux jeter un coup d'oeil à cette API : Configuration d'une application avec les Annotations
Citation:
Envoyé par wichtounet
Et à plus long terme, je pense mettre une option de langue, là encore je me pose les mêmes questions.
J'ai entendu parler des fichiers properties, mais je ne sais pas si c'est ce qui me convient vraiment.
Là par contre les fichiers properties représentent la meilleurs solution. Tu peux trouver plein d'exemple si tu fais une recherche avec ResourceBundle...
Citation:
Envoyé par wichtounet
Et encore autre chose, je l'écris où ce fichier ?
Le fichier de configuration ? Tu peux tout simplement le mettre dans le même répertoire que ton fichier Jar, ou bien dans le répertoire HOME de l'utilisateur...
a++
Re: Configuration d'un programme
Citation:
Envoyé par willy78
Peux tu preciser un peu plus le contexte?
Est ce que ces données doivent être sauvegardée entre deux utilisations du prog?
S'agit'il de préférences utilisateurs (propre à chacun)?
En fait, je vais créer une fenetre dans laquelle, l'utilisateur configurera les préférences du programme. Oui ces données doivent etre reprises au lancement suivant, c'est justement pour éviter de retaper trop souvent les memes choses. Je n'avais pas encore refléchi à cela, mais il est vrai qu'il serait bien que je puisse avoir des préférences utilisateurs propres à chacun(l'idée d'aidGuba de mettre ce fichier de config dans le répértoire home est sans doute une bonne solution).
Citation:
Envoyé par adiGuba
wichtounet a écrit:
Je pourrais tout mettre dans un fichier .txt, mais c'est pas tres propre...
En quoi le fait de sauvegarder la configuration dans un fichier texte ne serait pas propre ???
Je savais pas que le fichier properties était un simple fichier texte... Je pensais que c'était un fichier spécial
Citation:
Envoyé par AdiGuba
Alors que les fichiers *.properties peuvent être manipulé directement (ce qui peut s'avérer utile pour le déploiement par exemple).
Si tu utilises Java 5.0 tu peux jeter un coup d'oeil à cette API : Configuration d'une application avec les Annotations
Ca a l'air super, bien que je n'aie pas tout compris mais je vais relire tout ca :)
Citation:
Envoyé par adiGuba
Là par contre les fichiers properties représentent la meilleurs solution. Tu peux trouver plein d'exemple si tu fais une recherche avec ResourceBundle...
Merci beaucoup, je vais effectuer des recherches
Citation:
Envoyé par adiGuba
Le fichier de configuration ? Tu peux tout simplement le mettre dans le même répertoire que ton fichier Jar, ou bien dans le répertoire HOME de l'utilisateur...
Je fais comment pour trouver le répertoire home de l'utilisateur ?
Apres avoir lu vos réponses, je pense que je vais m'orienter soit vers un fichier .properties, soit vers l'api que adiGuba a presentée et de toute facon un ficheir properties pour les langues(qui ne viendront que plus tard je pense)
Merci
Re: Configuration d'un programme
Citation:
Envoyé par wichtounet
Citation:
Envoyé par AdiGuba
Si tu utilises Java 5.0 tu peux jeter un coup d'oeil à cette API : Configuration d'une application avec les Annotations
Ca a l'air super, bien que je n'aie pas tout compris mais je vais relire tout ca :)
Si tu as des remarques ou des commentaires n'hésite pas ;)
Citation:
Envoyé par wichtounet
Je fais comment pour trouver le répertoire home de l'utilisateur ?
C'est une propriété système standard :
Code:
String homeDirectory = System.getProperty("user.home");
Cf la doc de System.getProperties() pour avoir la liste...
a++