Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Les fichiers de conf en xml, quel intérêt ?

144 réponses
Avatar
olive
Bonjour,

Pour installer un petit serveur Jabber (Prosody), j'ai eu à tripoter un
fichier de conf en xml. Je n'y connais pas grand chose, mais je me
demandais quel est l'intérêt d'utiliser ce format plutôt qu'un bête
fichier texte à éditer ? C'est une vraie question.

Par ailleurs, chaque fois que je cherche de la doc quand je veux faire
un truc un peu moins basique que d'habitude, je tombe sur le wiki
d'Ubuntu qui m'a bien aidé plus d'une fois. Je le trouve en fait assez
remarquable.


--
Olivier -- "On est comme tous les artistes, on croit à notre produit."
-+-groupe Début de Soirée-+-

10 réponses

Avatar
JKB
Le 20 Oct 2010 08:31:48 GMT,
Nicolas George <nicolas$ écrivait :
Michel Talon, dans le message <i9m7ub$2h0c$,
a écrit :
rien d'autre que ce que TeX fait avec des {}, c'est à dire d'un coté tu
as le truc pondu par un génie, de l'autre la version gros plouc pondue
par des nullards.



À ceci près que pour TeX, on a _une_ implémentation, non-buggée mais dans un
langage pourri,



Ça n'engage que toi.

et bourrée de limitations à la con



Ça n'engage que toi.

et incapable de gérer
l'internationalisation correctement, tandis que pour XML on a de nombreuses
implémentations dans quasiment tous les langages et mutuellement
compatibles.



Mouarf. Ça, c'est la théorie.

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
Avatar
Nicolas George
JKB , dans le message , a
écrit :
Ça n'engage que toi.



Qui fait encore du pascal de nos jours ? Sérieusement ?

Ça n'engage que toi.



Tu as lu le TeXbook ?
Avatar
Nicolas George
JKB , dans le message , a
écrit :
Non. Je n'ai rien à prouver dans le cas général. Je te laisse
seulement imaginer un fichier avec un diagramme de rayonnement 3D
d'une antenne dans les _deux_ structures que tu as toi-même cru bon
d'indiquer.



Ben non. Tu montres juste que tu n'as rien compris à la différence entre les
deux exemples que j'ai cités.

Encore faux. Arrête de raisonner sur des exemples. Tu peux
parfaitement représenter des informations complexes dans des
structures simples et lisibles.



Lisibles oui. Simples, non : la représentation fidèle d'une donnée est au
moins aussi complexe que la donnée qu'elle encode.

C'est exactement ce que tu as écrit un peu plus haut



Non, apprends à lire (bis).

<snip>



TL;DR et hors sujet.
Avatar
JKB
Le 20 Oct 2010 09:04:40 GMT,
Nicolas George <nicolas$ écrivait :
JKB , dans le message , a
écrit :
Ça n'engage que toi.



Qui fait encore du pascal de nos jours ? Sérieusement ?



Tu parles du langage TeX. Je ne vois pas en quoi le fait qu'il soit
écrit historiquement en WEB change quelque chose à TeX. Pour ta
gouverne, ça fait plus de dix ans queje n'ai plus vu un TeX écrit en
WEB.

Ça n'engage que toi.



Tu as lu le TeXbook ?



Je l'ai devant les yeux.

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
Avatar
Nicolas George
JKB , dans le message , a
écrit :
Tu parles du langage TeX. Je ne vois pas en quoi le fait qu'il soit
écrit historiquement en WEB change quelque chose à TeX.



Ça change considérablement les choses pour la maintenance du code.

Pour ta
gouverne, ça fait plus de dix ans queje n'ai plus vu un TeX écrit en
WEB.



Tu crois qu'ils sont écrits en quoi, de nos jours ?

Je l'ai devant les yeux.



Alors vas-y, lis-nous la partie qui parle du nombre maximum de boîtes, du
nombre maximum de conteurs, etc.
Avatar
JKB
Le 20 Oct 2010 09:07:00 GMT,
Nicolas George <nicolas$ écrivait :
JKB , dans le message , a
écrit :
Non. Je n'ai rien à prouver dans le cas général. Je te laisse
seulement imaginer un fichier avec un diagramme de rayonnement 3D
d'une antenne dans les _deux_ structures que tu as toi-même cru bon
d'indiquer.



Ben non. Tu montres juste que tu n'as rien compris à la différence entre les
deux exemples que j'ai cités.



Je ne peux donc rien pour toi. Il faut que tu reprennes les bases.

Encore faux. Arrête de raisonner sur des exemples. Tu peux
parfaitement représenter des informations complexes dans des
structures simples et lisibles.



Lisibles oui. Simples, non : la représentation fidèle d'une donnée est au
moins aussi complexe que la donnée qu'elle encode.



Non, mais si tu en es persuadé, je ne peux là non plus rien faire
pour toi. La complexité d'une représentation n'a rien à voir avec la
complexité des données.

C'est exactement ce que tu as écrit un peu plus haut



Non, apprends à lire (bis).



Je te retourne l'argument. C'est assez amusant, à chaque fois que
quelqu'un te met le nez dans tes erreurs, tu réponds la même chose.

<snip>



TL;DR et hors sujet.



Au contraire, on est juste dedans, mais ça te ferait mal de le
reconnaître parce que ça te donne tort.

JKB

<plonk>

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
Avatar
Nicolas George
JKB , dans le message , a
écrit :
Je ne peux donc rien pour toi. Il faut que tu reprennes les bases.



Si tu ne vois pas pourquoi l'ajout, par exemple, du préfixe de namespace
n'est jamais indispensable quand on conçoit directement le format, c'est moi
qui ne peux rien pour toi.

La complexité d'une représentation n'a rien à voir avec la
complexité des données.



Tu as raté le mot « fidèle » dans ma phrase.

Je te retourne l'argument. C'est assez amusant, à chaque fois que
quelqu'un te met le nez dans tes erreurs, tu réponds la même chose.



Je réponds la même chose parce que systématiquement tu plaques sur mon
discours les idées simplistes que tu espères que je t'oppose plutôt que d'en
lire la subtilité.

Je reprends en deux secondes : tu as affirmé que la redondance dans un
fichier était systématiquement à éviter. J'ai réfuté cette affirmation. Ni
plus ni moins.

<plonk>



Quelque part, j'ai envie de dire bon débarras. Tu as clairement un bon
niveau dans certains domaines, mais débattre avec toi ressemble furieusement
à pisser dans un violon : outre que tu passes ton temps à tout ramener aux
quelques domaines que tu connais (quand on n'a qu'un marteau...), tu refuses
a priori de remettre en cause tes idées préconçues, même quand elles
concernent un domaine loin de ton expertise.
Avatar
remy
JKB a écrit :
Le 20 Oct 2010 08:16:46 GMT,
Nicolas George <nicolas$ écrivait :
JKB , dans le message , a
écrit :
Ça n'engage que toi. Sur un truc trivial, tu as raison. Sur un
fichier de conf standard (comme celui que je t'ai indiqué plus
haut), tu as trivialement tort parce que la structure XML la plus
lisible est la _seconde_,


Preuve ?



Non. Je n'ai rien à prouver dans le cas général. Je te laisse
seulement imaginer un fichier avec un diagramme de rayonnement 3D
d'une antenne dans les _deux_ structures que tu as toi-même cru b on
d'indiquer.

que tu le veuilles ou non, parce que ton
fichier de conf peut être assez long pour ne pas tenir sur ton
écran.


Si l'information à exprimer est complexe, le fichier qui l'exprim e sera
complexe, quelle que soit la syntaxe. La belle affaire !



Encore faux. Arrête de raisonner sur des exemples. Tu peux
parfaitement représenter des informations complexes dans des
structures simples et lisibles. Comme tu es capable de représente r
de façon éhontément complexe des données simples.




en toute rigueur non
pour que cela soit simple cela implique un pré requis supposé

exemple

nom = Mapomme

il est évident que je vais utiliser des lettres, qu'il
n'y aura pas de chiffres et que la première lettre est
une majuscule, et que le résultat sera un string etc etc

(le pré requis supposé)

remy



--
http://remyaumeunier.chez-alice.fr/
Avatar
Nicolas Richard
Le 20/10/10 10:09, JKB a écrit :
Sortir des exemples à la con, tu sais faire, tu ne sais même faire
que ça lorsqu'on te mouche. Maintenant, soit tu me _démontres_ que
j'ai tort, mais avec une démonstration _générale_ (en tant que



L'assertion était que pour tout fichier de conf, y inclure l'encodage
est une mauvaise idée. Il a été répondu qu'il existe un fichier de conf
(l'exemple "à la con") où inclure l'encodage n'est _pas_ une mauvaise
idée. Cela suffit à contredire l'assertion précédente.

Ceci dit, je suis persuadé qu'aucun de vous n'essaye seulement de
convaincre l'autre qu'il a raison : c'est juste du show.

Pour rentrer néanmoins un peu dans le débat, je pense que tu ne parles
pas de ce qu'on appelle d'habitude le "cas général", mais de ce qu'on
qualifiera plutôt de "cas générique" : à savoir si on n'est pas dans ces
cas-là, c'est qu'on a pas de bol.

Quand on traite énormément de données, on fait confiance à un algo dont
la proba de réussite est grande car on n'a pas l'occasion de traiter
chaque erreur en demandant son avis à quelqu'un. Exemple typique: quand
on analyse du contenu récupéré sur le web, on fera, j'imagine, plutôt
confiance à un algo bien fait qu'à l'entête "Content-Type".
Mais quand on configure son système, on s'arrange pour éviter les
erreurs en introduisant un mécanisme qui, s'il est bien suivi, marche à
tout coup [le mieux étant que l'encodage soit fixé à l'avance et connu
de tous] ; et si cela amène une incohérence, on sait qu'il y a eu une
erreur quelque part et ça nécessite de demander son avis à quelqu'un.

Sur ce, je me retire discrètement...

--
Nico.
Avatar
Patrick Lamaizière
remy :

avec un simple cerveau cela permet de comprendre en principe à quoi
correspond l'association je n'ai plus à connaitre la syntaxe d'un
fichier de config ou à savoir

machinBidule 10:1215, -avkj :1536 fait la même chose que
trucMucheAlaCon -bphkt 123:1579



Si tu prends l'exemple de Xorg (pour régler le clavier en fr/latin 9) :

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.keyboard">
<merge key="input.x11_driver" type="string">kbd</merge>
<match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
string="Linux">
<merge key="input.x11_driver" type="string">evdev</merge>
</match>
<merge key="input.xkb.Layout" type="string">fr</merge>
<merge key="input.xkb.Variant" type="string">latin9</merge>
<merge key="input.xkb.Option" type="string">compose:rwin</merge>
</match>
</device>
</deviceinfo>

Avantc'était quand même mieux :
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "fr"
EndSection

Du coup je suis bien d'accord avec Michel, on devrait les pendre, sans
compter que je ne suis même pas sûr que ce soit documenté.