Version du schéma
Ce que signifie schema_version, quelles versions sont acceptées, et ce qui se passe quand on ouvre un ancien fichier.
Un profil déclare la version du format dans lequel il est écrit. C’est ce qui permet à un fichier produit il y a un an de rester lisible aujourd’hui.
Cette version n’a rien à voir avec la version de l’application, ni avec celle de votre jeu de règles.
Trois versions, une seule sémantique
L’application accepte trois versions du format, et l’éditeur les accepte toutes les trois — avec exactement la même interprétation.
| Version | Forme du fichier | Identité du profil | Nom retenu |
|---|---|---|---|
| 1 | plat, sans identité visuelle | aucune → identifiant neuf | nom du fichier |
| 2 | plat, avec identité visuelle | aucune → identifiant neuf | nom d’affichage, sinon nom du fichier |
| 3 | enveloppe profile |
l’identifiant du fichier, s’il est fourni | nom du profil |
Si rien ne nomme le profil, il s’appellera « Profil importé ».
Ouvrir un ancien fichier
Il s’ouvre normalement. L’éditeur affiche la version détectée et explique ce qu’il en a déduit. Le fichier d’origine n’est jamais modifié.
Écrire
L’export est toujours écrit dans la version courante, quelle que soit celle du fichier ouvert. C’est le seul moment où une conversion a lieu, et elle est annoncée.
Un fichier en version 1 ou 2 qui n’a pas d’identifiant produira donc, à l’export, un profil avec un identifiant neuf : à l’import, l’application créera un profil au lieu d’en mettre un à jour. C’est la conséquence normale d’un format qui ne portait pas encore d’identité logique.
Une version inconnue est refusée
Un fichier déclarant une version que l’application ne connaît pas est rejeté, et
non deviné. Le code d’erreur est unsupported_schema_version.
C’est délibéré : accepter au jugé un format futur reviendrait à en importer n’importe quelle moitié.