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.
| Message | Signification |
|---|---|
| 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 vide | Chaque fromage doit avoir un identifiant non vide. |
| "<champ>" manquant ou vide | Un 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 5 | L'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 vide | Au moins une note aromatique est requise. |
| "accords" / "nutrition" doit être un objet | Même vide ({}), ces deux champs doivent être des objets. |
| "galerie" doit être un tableau de chaînes non vide | Au moins un libellé de photo de galerie est requis. |
| "map" doit être un tableau [x, y] avec x et y entre 0 et 100 | Coordonnées normalisées sur la silhouette de la carte de France. |
| "regionId" manquant et aucune région par défaut fournie | Un 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.
| État | Signification |
|---|---|
update-found | Une nouvelle version a été trouvée ; le rechargement suit. |
up-to-date | Le serveur n'a rien de plus récent que la version installée. |
offline | Appareil hors ligne : rien à vérifier. |
unsupported | Pas de service worker actif (mode développement, navigation privée stricte, navigateur sans support). |
error | Le serveur n'a pas répondu correctement à la vérification. |