Référence — Codes et erreurs

Messages de validation de l'import JSON et états de la vérification de mise à jour, détectés dans le code source.

Import JSON (écran Import / Export)

Sourcé sur src/lib/cheese-import-export.ts et src/lib/cheese-schema.ts.

MessageSignification
JSON invalide : le texte fourni ne peut pas être analysé.Le texte collé n'est pas du JSON syntaxiquement valide.
Format non reconnu : attendu un tableau de fromages, ou un objet { "region"?, "cheeses": [...] }.La racine du document n'est ni un tableau, ni un objet avec une clé « cheeses ».
"region" doit être un objet { "id": string, "name": string }.La clé « region », si présente, ne respecte pas la forme attendue.
"id" manquant ou videChaque fromage doit avoir un identifiant non vide.
"<champ>" manquant ou videUn des 17 champs texte obligatoires (nom, dept, commune, lait, race, famille, croute, texture, forme, poids, dim, affinage, mg, saison, prix, dispo, color, histoire) est absent ou vide.
"intensite" doit être un entier entre 1 et 5L'intensité doit être un nombre entier de 1 (doux) à 5 (intense).
"aop" doit être un booléen (true/false)Le champ AOP doit être true ou false, jamais une chaîne.
"notes" doit être un tableau de chaînes non videAu moins une note aromatique est requise.
"accords" / "nutrition" doit être un objetMême vide ({}), ces deux champs doivent être des objets.
"galerie" doit être un tableau de chaînes non videAu moins un libellé de photo de galerie est requis.
"map" doit être un tableau [x, y] avec x et y entre 0 et 100Coordonnées normalisées sur la silhouette de la carte de France.
"regionId" manquant et aucune région par défaut fournieUn fromage doit soit porter regionId, soit être importé dans l'enveloppe { region, cheeses } qui le fournit implicitement.
"image" / "wikipedia" / "galleryImages" doit être un objet { url, ... }Champs optionnels, mais dont la forme est vérifiée s'ils sont présents.

Vérification de mise à jour

Sourcé sur src/lib/app-update.ts (runUpdateCheck). Ces états ne sont pas des messages affichés textuellement à l'identique, mais déterminent ce que montre la carte « Version » de l'écran Import / Export.

ÉtatSignification
update-foundUne nouvelle version a été trouvée ; le rechargement suit.
up-to-dateLe serveur n'a rien de plus récent que la version installée.
offlineAppareil hors ligne : rien à vérifier.
unsupportedPas de service worker actif (mode développement, navigation privée stricte, navigateur sans support).
errorLe serveur n'a pas répondu correctement à la vérification.