IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement 2D, 3D et Jeux Discussion :

Format du fichier de config : .ini ou .xml ?


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre confirmé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Points : 479
    Points
    479
    Par défaut Format du fichier de config : .ini ou .xml ?
    Bonjours à tous.

    La question est dans le titre. J'ai remarqué que de plus en plus de jeux utilisaient des fichiers xml pour stocker la configuration du jeu (résolution, etc), alors quel en est l'intérêt ? N'est ce pas donner de la confiture aux cochons ? Les fichiers ini sont ils si obsolètes ?

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Disons que le XML est beaucoup plus souple et plus facilement lisible dans un programme (il y a plus de bibliothèques disponibles -- pour lire du .ini je ne saurais même pas quoi utiliser). Il permet une organisation hiérarchique sous forme d'arborescence, bien adaptée aux données complexes et imbriquées, mais il permet aussi de conserver une structure très simple dans le cas où tu n'as qu'à stocker des paires "nom = valeur".

    En fait je ne vois aucun avantage du .ini sur le XML.

  3. #3
    Membre confirmé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Points : 479
    Points
    479
    Par défaut
    Pour le xml, il faut parfois utiliser de la récursivité (cf par exemple le sujet de BTS de cette année où on aurait pu l'appliquer), ce qui je trouve n'est pas simple à utiliser parfois. J'avais pensé que le xml était surtout utile pour visualiser des données sur un site web facilement.

    Pour le ini, j'ai fais ma propre classe (ce sont des fonctions de base à l'origine, encapsulées), et elle tient en seulement 2 pages.
    Je trouve que le .ini est plus simple : section => clé.
    M'enfin, si l'avenir, c'est le xml, je vais m'y mettre.

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Pour le xml, il faut parfois utiliser de la récursivité (cf par exemple le sujet de BTS de cette année où on aurait pu l'appliquer), ce qui je trouve n'est pas simple à utiliser parfois.
    ?
    La structure d'un fichier XML en fait un format très intuitif à parcourir, d'autant plus que les bibliothèques qui le gèrent fournissent des interfaces très simples. J'ai du mal à voir dans quel contexte tu trouvais son utilisation compliquée.

    M'enfin, si l'avenir, c'est le xml, je vais m'y mettre.
    Mauvaise conclusion
    Si tu as les classes qui vont bien, et que les options que tu veux stocker correspondent parfaitement au format INI, alors ne te gêne pas.
    Même si je trouve le XML plus pratique dans la plupart des cas, j'ai oublié de citer un inconvénient : il est beaucoup trop à la mode en ce moment, et les gens ont tendance à l'utiliser pour tout et n'importe quoi.

  5. #5
    Membre confirmé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Points : 479
    Points
    479
    Par défaut
    Dans mon exemple, on ne demandais pas d'utiliser de bibliothèque, il fallait donner l'algorithme pour lire un fichier xml, parcourir l'arborescence des noeuds, etc. donc récursif.
    Ca confirme ce que je pensais, c'est un peu une mode. Beaucoup en mettent parce que ça fait bien.
    Je vais rester sur mes ini, après tout, je n'ai pas codé ma classe pour rien.

  6. #6
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    Citation Envoyé par Laurent Gomila
    ?
    Mauvaise conclusion
    Si tu as les classes qui vont bien, et que les options que tu veux stocker correspondent parfaitement au format INI, alors ne te gêne pas.
    Même si je trouve le XML plus pratique dans la plupart des cas, j'ai oublié de citer un inconvénient : il est beaucoup trop à la mode en ce moment, et les gens ont tendance à l'utiliser pour tout et n'importe quoi.
    100% d'accord, la mode du XML, c'est juste horrible... quand on voit le ratio d'information utiles et du nombre de caracteres inutiles (balises, etc), le XML est juste tout naze et en plus, c'est très difficilement lisible par des humains.
    perso, quand j'ai besoin d'un format de stockage, un petit coup de spirit et hop, le tour est joué

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    949
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 949
    Points : 1 857
    Points
    1 857
    Par défaut
    Citation Envoyé par bafman
    quand on voit le ratio d'information utiles et du nombre de caracteres inutiles (balises, etc), le XML est juste tout naze
    Peu importe, le xml n'est pas destiné au stockage de données. Le seul cas où celà peut géner est dans le cas d'échange de données par le réseau entre deux systèmes, si de très gros volumes de données sont concernés.

    Citation Envoyé par bafman
    et en plus, c'est très difficilement lisible par des humains.
    Personnellement, je trouve le xml très lisible, mais il est vrai que j'utilise des outils de coloration syntaxique. Quand on a une structure de données arborescente, le xml la met immédiatement en évidence. Le ini est en revanche plus simple, donc plus lisible pour les structures simples.

    En revanche, c'est vrai que le xml est souvent utilisé à tort et à travers à cause de l'effet de mode. Je pense en particulier à une application qui utilisait ses fichiers d'échange xml pour le stockage de données. Heureusement qu'il ne s'agissait pas de gros volumes. C'est probablement à cause de ce genre de situation que bafman est fâché avec le xml.

    Enfin, les qualités du xml ne sont pas une raison pour abandonner des ini qui marchent bien.

    Cet effet de mode a tout de même un avantage : les fichiers de configuration de mes applications J2EE sont tous soit des fichiers xml, soit des fichiers properties. Pas besoin d'apprendre 46 nouveaux formats pour chaque nouvel outil.

  8. #8
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    Citation Envoyé par BugFactory
    Peu importe, le xml n'est pas destiné au stockage de données. Le seul cas où celà peut géner est dans le cas d'échange de données par le réseau entre deux systèmes, si de très gros volumes de données sont concernés.
    tout a fait d'accord avec toi sur ce point. Pour moi, le XML est, et doit rester, un format d'echange de données entre environnement heterogenes (au sens ou on a plusieurs application, potentiellement ecrites dans des langages differents qui doivent traiter le même type de données)

    Citation Envoyé par BugFactory
    Personnellement, je trouve le xml très lisible, mais il est vrai que j'utilise des outils de coloration syntaxique. Quand on a une structure de données arborescente, le xml la met immédiatement en évidence. Le ini est en revanche plus simple, donc plus lisible pour les structures simples.
    en fait, je faisait une comparaison plus globale. perso, quand je me fait un langage de description, j'utilise toujours un syntaxe "C++ like" à base d'accolades et autre, qui permet un format très lisibles tout en gardant la possibilité de decrire des arbres de proprietées.

    Citation Envoyé par BugFactory
    En revanche, c'est vrai que le xml est souvent utilisé à tort et à travers à cause de l'effet de mode. Je pense en particulier à une application qui utilisait ses fichiers d'échange xml pour le stockage de données. Heureusement qu'il ne s'agissait pas de gros volumes. C'est probablement à cause de ce genre de situation que bafman est fâché avec le xml.
    effectivement, c'est ce genre d'aberration dans l'utilisation du XML qui font que je prefere toujours prévenir les gens que le XML n'est PAS le format ultime...
    Citation Envoyé par BugFactory
    Enfin, les qualités du xml ne sont pas une raison pour abandonner des ini qui marchent bien.
    mais qui restent quand même très limités
    Citation Envoyé par BugFactory
    Cet effet de mode a tout de même un avantage : les fichiers de configuration de mes applications J2EE sont tous soit des fichiers xml, soit des fichiers properties. Pas besoin d'apprendre 46 nouveaux formats pour chaque nouvel outil.
    mais tout tes fichier XML different utilisent un ensemble de balises differentes, donc globalement, ca revient quand même à apprendre un langage different (mais par contre, effectivement, tu n'a appris le meta langage qu'une seul fois )

  9. #9
    Membre confirmé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Points : 479
    Points
    479
    Par défaut
    Je ne désirais pas lancer un troll sur le "Xml c'est bien ou mal ?", mais juste savoir ses avantages. Parce que bon, stocker les touches, la résolution, les bpp, et 2 ou 3 choses, je trouve que c'est mettre en marche un usine à gaz pour pas grand chose. Chaque format a son utilité, mais j'ai du mal avec xml, puisqu'il est mis à toutes les sauces. (cf le jeu Loki : tout est en html, ok, c'est pratique pour un jeu de role, mais pour la config, bof)

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    949
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 949
    Points : 1 857
    Points
    1 857
    Par défaut
    Eh bien, il me semble que l'on a vu l'essentiel.
    Forces :
    - xml permet d'enregistrer des structures complexes de manière lisible,
    - il existe de nombreux outils existant pour le manipuler,
    - c'est un format très répandu, on ne l'apprend qu'une fois et on peut l'utiliser pour plusieurs outils.

    Faiblesses :
    - poids des meta données,
    - utilisation à tortet à travers à cause de l'effet de mode.

    Plus tout ce que je n'ai pas en tête en ce moment.

    Maintenant, je ne vois pas pourquoi vous vous plaignez d'un troll : vous vouliez connaître les forces et faiblesses du xml et c'est précisément ce dont nous parlions.

    Concernant les jeux vidéo, les ini sont suffisant pour la configuration. Mais les développeurs utilisent peut-être le xml en interne (import des meshs depuis les logiciels de graphisme?) ou pour leurs outils de développement, et comme vous l'avez dit vous même, une fois qu'on a les classes pour gérer un format, pourquoi s'embêter avec l'autre?

  11. #11
    Membre confirmé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Points : 479
    Points
    479
    Par défaut
    J'ai eu l'impression que c'était parti sur l'utilisation du xml en général non ? Ma question a été élargie, moi je demande juste si un ini suffit pour la config, ou si le xml va apporter quelque chose.
    J'ai eu ma réponse, libre à vous de continuer le débat.

  12. #12
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 943
    Points : 1 156
    Points
    1 156
    Par défaut
    Oui lapin garou, tu peut faire tout avec n'importe quoi :-)
    donc le ini suffit tout comme le xml fonctionne.

    certain critique la trop grande utilisation du xml, mais lorsque l'on possede une bibliotheque capable de gerer ca facilement, pourquoi s'embeter a faire autre chose ?

    inversement, si ta classe de gestion *.ini marche, pourquoi changer si tu n'en ressents pas le besoin.

    il n'y a pas de bien ou mauvais, juste un probleme et des solutions.

    Je n'ai, personnelement, pas encore ressenti le besoin du xml pour mes projets persos en c++ (et j'en ai fait un paquet).
    Souvent une structure tabulaire ou un *.ini-like font tres bien les choses et tres simplement.
    Mais il est vrai que lorsque l'on manipule un format comme collada basé sur xml on vois tout de suite l'interet de ce format pour des cas a forte complexité.

    En bref fait comme tu preferes du moment que ca marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quel type de fichier de config utiliser? XML? INI?
    Par ChriGoLioNaDor dans le forum C++
    Réponses: 19
    Dernier message: 07/09/2007, 09h56
  2. [Struts-menu] déplacer le fichier menu-config.xml
    Par mkc44 dans le forum Struts 1
    Réponses: 2
    Dernier message: 25/05/2007, 14h21
  3. Format De Fichier: Xml
    Par mamid1706 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 13/03/2007, 11h32
  4. [Structure] Définition d'un format de fichier non XML avec du XML
    Par arnaud_fr dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 25/01/2007, 10h14
  5. Je ne trouve pas le fichier Struts-Config.xml
    Par masse dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 06/10/2006, 10h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo