Fonctionnalité — Import / Export

Sauvegarde et extension du jeu de données depuis l'interface, sans jamais modifier les fromages intégrés au bundle.

Description

Un écran permet d'exporter le jeu de données actif au format JSON, et d'en importer un nouveau — un tableau de fromages, ou un objet { region?, cheeses[] } qui peut aussi enregistrer une nouvelle région.

Objectif

Permettre à quelqu'un d'étendre sa propre base (nouveaux fromages, nouvelle région) sans toucher au code, et de la sauvegarder.

Prérequis

Aucun compte : tout se passe en local. Voir le guide de cet écran.

Comment l'utiliser

  1. Export : bouton « Exporter la base (.json) », qui télécharge le jeu actif.
  2. Import : coller ou charger un fichier JSON, bouton « Valider » pour voir le détail des erreurs, puis « Confirmer l'import ».

Options

Télécharger un gabarit d'exemple entièrement rempli, pour partir d'un fichier valide plutôt que d'un schéma abstrait.

Données utilisées

Chaque fromage suit le schéma décrit dans Codes et erreurs. Un import est stocké dans une surcouche localStorage (clés fromages-import-cheeses et fromages-import-regions), fusionnée par-dessus les données intégrées (remplacement par id) — le jeu de données embarqué dans l'application n'est jamais modifié.

Résultat

Importer un id déjà présent remplace la fiche existante ; un nouvel id l'ajoute. Un bouton « Réinitialiser les imports » efface tout l'import personnel.

Hors connexion

Fonctionne entièrement hors connexion — export, import et validation sont purement locaux.

Limites

Pas de fusion champ par champ : importer un id existant remplace la fiche entière, pas seulement les champs fournis.

Erreurs possibles

Voir la table complète des messages de validation : Codes et erreurs.

Dépannage

L'import JSON est refusé.

FAQ

Comment exporter mes données ? · Comment ajouter mes propres fromages ?