Poster une réponse  Créer un sujet 
Pages (3): « Première [1] 2 3 Suivante > Dernière »
Comment faîtes vous vos fichiers de configuration ?
Auteur Message
LexLxUs
Membre


Messages : 2,490
Groupe : Membre
Inscription : Aug 2006
Statut : Hors ligne
Réputation : 0
Message : #1
Comment faîtes vous vos fichiers de configuration ?

Bonjour à tous 2

Nombre d'entre vous connait SimpleXML, certains l'utilisent même. Le débat tourne autour de la gestion de fichiers de configuration en utilisant XML ou la bonne vieille méthode de fichiers texte.

Pour ma part, je préfère utiliser les fichiers textes - via une classe.

J'attends de voir pour que l'on me convainc que je fais fausse route à être vieux jeu 1

~L~

Ce message a été modifié le: 09-09-2008 10:39 AM par Sephi-Chan.

11-14-2007 04:34 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
naholyr
Modérateur Programmation
*****


Messages : 861
Groupe : Modérateur
Inscription : Aug 2006
Statut : Hors ligne
Réputation : 18
Message : #2
RE: Configuration via XML ou êtes vous vieux jeu ?

J'utilise personnellement le YaML que j'ai découvert avec Symfony, c'est un langage de config qui a les mêmes atouts que XML (c'est à dire traduire un tableau associatif), mais qui est *réellement* lisible par un humain.
Exemple

Code :
app:
  module:
    variable: value
    variable2: { option1: value, option2: value }
    variable3:
      - element1
      - element2
  module2: { variable: value }


Note valable aussi pour le XML : pour des raisons de performances c'est mieux si c'est «compilé» à la volée en PHP pour les accès ultérieurs.


Ressources [PHP][MySQL][prototype.js]
Projet Dei - Le jeu [Statut=Conception]

naholyr@jabber.fr

Ce message a été modifié le: 11-14-2007 05:31 PM par naholyr.

11-14-2007 05:20 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Sephi-Chan
Administrateur
*******


Messages : 4,284
Groupe : Administrateur
Inscription : Aug 2006
Statut : Hors ligne
Message : #3
RE: Configuration via XML ou êtes vous vieux jeu ?

Il est plus élégant d'avoir un fichier tel que :

Code PHP :
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
     <database>
          <name value="nomdelabase" />
          <password value="ae35fdfdf" />
          <host value="nomdelabase" />
          <username value="blablabla" />
     </database>
     <site>
         <title value="Seelies" />
     </site>
</configuration> 


J'éditerai le côté SimpleXML une fois chez moi.


Sephi-Chan


11-14-2007 05:26 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
LexLxUs
Membre


Messages : 2,490
Groupe : Membre
Inscription : Aug 2006
Statut : Hors ligne
Réputation : 0
Message : #4
RE: Configuration via XML ou êtes vous vieux jeu ?

YaML est natif dans le noyau PHP comme SimpleXML ?

~L~

11-14-2007 05:29 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
naholyr
Modérateur Programmation
*****


Messages : 861
Groupe : Modérateur
Inscription : Aug 2006
Statut : Hors ligne
Réputation : 18
Message : #5
RE: Configuration via XML ou êtes vous vieux jeu ?

Il y a une extension PHP qui permet de le gérer, et si on n'a pas la possibilité d'activer cette extension, il y a une classé (j'ai oublié les noms).
Mais comme il faut de toute façon passer par une phase d'interprétation ce sera des ressources gachées dans un cas comme dans l'autre. Donc du moment qu'à la première lecture on transforme ça en tableau PHP pour ne pas avoir à refaire l'interprétation, les deux donneront le même résultat.

Enfin, la notion d'élégance est extrèmement subjective 16


Ressources [PHP][MySQL][prototype.js]
Projet Dei - Le jeu [Statut=Conception]

naholyr@jabber.fr

Ce message a été modifié le: 11-14-2007 05:34 PM par naholyr.

11-14-2007 05:34 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
LexLxUs
Membre


Messages : 2,490
Groupe : Membre
Inscription : Aug 2006
Statut : Hors ligne
Réputation : 0
Message : #6
RE: Configuration via XML ou êtes vous vieux jeu ?

Pour la notion d'élégance, j'lui ai déjà dit que ça va pas me convaincre 1

Si pour YaML il faut une extension ou un classe - suivant les autorisations - je préfère encore manipuler les fichiers :-°
Là aussi j'ai une classe, mais plutôt genre `set de fonctions` et pas bien grosse ..

~L~

11-14-2007 05:39 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
X-ZoD
Membre


Messages : 600
Groupe : Membre
Inscription : Aug 2006
Statut : Hors ligne
Réputation : 16
Message : #7
RE: Configuration via XML ou êtes vous vieux jeu ?

moi ya un truc kie turlupine ... pkoi xml et pas sql ?
sauf les cas ou on a pas le choix


11-14-2007 05:50 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
naholyr
Modérateur Programmation
*****


Messages : 861
Groupe : Modérateur
Inscription : Aug 2006
Statut : Hors ligne
Réputation : 18
Message : #8
RE: Configuration via XML ou êtes vous vieux jeu ?

Les options de configuration statiques du projet (genre "combien de jours avant suppression des inscriptions non validées", "durée de vie des cookies", "langue par défaut", etc...) doivent plutôt être mises dans des fichiers de config, histoire de s'épargner une requête tout-à-fait inutile puisqu'il n'y aura jamais aucun changement.

Maintenant on a en gros 5 choix, que j'ai placé dans l'ordre décroissant de préférence personnelle :

  • Utiliser des fichiers YaML.
    Inconvénients : ça nécessite l'utilisation d'une extension ou d'une classe tierce pour le parsing, tatillon sur l'indentation.
    Avantages : léger, très lisible, souple, et en plus c'est "hype" (à la mode) avec Ruby et dire qu'on utilise du YaML fait très bien dans les diners mondains.
  • Utiliser des fichiers INI.
    Inconvénients : on a une arborescence limitée à 2 niveaux.
    Avantages : syntaxe très simple et facilement lisible, format largement répandu, lecture aisée avec une fonction standard de PHP (depuis la v4).
  • Utiliser des tableaux PHP.
    Inconvénients : c'est du PHP avec les possibilités de plantage en cas de syntax error que cela comporte.
    Avantages : c'est la solution la plus rapide, c'est lisible pour peu qu'on indente correctement son tableau, on peut mettre des expressions et ça c'est très pratique (par exemple 'cookie_lifetime' => 3600*24, // 24h).
  • Utiliser des fichiers XML.
    Inconvénients : verbeux donc lourd, tatillon sur la syntaxe et les encodages, difficilement lisible tel quel.
    Avantage : SimpleXML est une extension maintenant standard de PHP.
  • Utiliser un format maison.
    Inconvénients : ça nécessite le développement des fonctions de gestion de ce format (avec toutes les possibilités de bug que cela comporte), c'est forcément la méthode la plus lente, le format sera souvent limité à un seul niveau d'arborescence.
    Avantages : affectif (c'est mon format, je l'aime et de toute façon vous comprenez rien 12 ), maîtrise totale du format.

La pire solution c'est le format maison. Pourquoi ? Parce que comme toujours c'est réinventer la roue, et je sais pas vous mais moi toutes les roues que j'ai bricolées dans mon garage elles roulaient moins bien que celles qui ont été faites par des pros.
Les autres solutions c'est vraiment une question de préférence, de goût personnel. J'ai un faible pour le YaML pour sa lisibilité, mais a priori toutes ces solutions se valent. En revanche toutes ces solutions *doivent* passer par une mise en cache d'une version compilée en tableau PHP pour ne pas faire mourir les performances (sauf bien sûr si on travaille avec des tableaux PHP directement).


Ressources [PHP][MySQL][prototype.js]
Projet Dei - Le jeu [Statut=Conception]

naholyr@jabber.fr

Ce message a été modifié le: 11-14-2007 06:57 PM par naholyr.

11-14-2007 06:52 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
LexLxUs
Membre


Messages : 2,490
Groupe : Membre
Inscription : Aug 2006
Statut : Hors ligne
Réputation : 0
Message : #9
RE: Configuration via XML ou êtes vous vieux jeu ?

Cool ça ! Moi, j'marche au .ini tant que c'est suffisant. Je pense que si j'ai plus de 2 niveaux .. Faudra que j'y réfléchisse en fait 2
Merci pour les détails, ça me conforte dans ma position finalement 2

~L~

11-14-2007 08:39 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
naholyr
Modérateur Programmation
*****


Messages : 861
Groupe : Modérateur
Inscription : Aug 2006
Statut : Hors ligne
Réputation : 18
Message : #10
RE: Configuration via XML ou êtes vous vieux jeu ?

Au fait la fonction en question c'est parse_ini_file()


Ressources [PHP][MySQL][prototype.js]
Projet Dei - Le jeu [Statut=Conception]

naholyr@jabber.fr
11-14-2007 10:07 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Poster une réponse  Créer un sujet 

Voir une version imprimable
Envoyer ce sujet à un ami
S'abonner au sujet | Ajouter le sujet aux favoris