Fichiers YAML, JSON, XML

Eric Lupinacci <[email protected]>
Newsgroups gmane.comp.web.spip.devel,gmane.comp.web.spip.zone
Message-ID <CAM6W4bbNQmEwbjDMZoZDKcAxXOXa=DsMv7wa3Cyxhjb_zaudZg@mail.gmail.com>
Hello,

En rédigeant les guides N-Core et du noiZetier j'ai voulu donner un aperçu
des fichiers descriptifs d'une page, d'un type de noisette, d'un bloc et
d'une composition.
Et bien j'ai un peu galéré...
Il a fallu que je regarde le code pour m'assurer que j'avais la bonne liste
de champs.

J'ai donc passé un petit moment ce week-end à décrire tout cela en
utilisant plusieurs approches:

- pour les fichiers YAML j'ai créé un fichier modèle pour chaque objet
concerné (page, bloc, type de noisette) et j'ai rajouté pour chacun d'eux
un schéma JSON. Ce fichier JSON permet même de valider le fichier YAML en
utilisant un convertisseur YAML->JSON au préalable.
- pour les fichiers XML (page et composition) j'ai créé une DTD
approximative qui a au moins le mérite de décrire le contenu possible des
fichiers XML. Mais comme ces fichiers XML sont trop verbeux (un peu comme
les plugin.xml comparés aux paquet.xml) la validation n'a que peu d'intérêt.

Ces différents fichiers xxxx.template.yaml, xxxx.schema.json et xxxx.dtd
sont stockés à la racine des plugins concernés, à savoir, N-Core, le
noiZetier et Compositions.

Je pense qu'il serait pas mal d'adopter cette pratique systématiquement
avec les fichiers YAML en particulier. La documentation est assez pauvre en
général sur ces sujets et finalement une DTD ou un schéma JSON sont assez
lisibles et facilement évolutif.
En plus, on pourrait imaginer une validation dans le futur.
J'ai pas osé encore m'attaquer aux saisies, vérification justement et j'ai
décrit les paramètres de configuration d'une noisette très simplement. Mais
on pourrait faire mieux !
Si quelqu'un à des fichiers d'exemple complets des saisies et vérification
je suis preneur.

Sinon pour finir j'ai une question sur Compositions.
Il existe 3 champs que l'on récupère dans le noiZetier et qui sont même des
champs de la table spip_noizetier_pages : image_exemple, class et
configuration.
-> Sont-ils vraiment utilisés ?
-> Si oui à quoi servent-ils ?
-> Si non, peut-on les considérer comme totalement dépréciés ?
-> Ne pensez-vous pas qu'on pourrait aussi passer en YAML (avec un support
du XML et une moulinette pour convertir les fichiers existant) ?

Merci pour vos réponses ou avis.

++
Eric
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.