Aller au contenu
nectar Documentation

Documentation / Référence du fichier de parchemin

Référence du fichier de parchemin

Un fichier de parchemin est un objet JSON : les détails du parchemin, ses chapitres d’idées et des traductions facultatives. Cette page décrit chaque objet et chaque champ que lit l’importation.

Téléchargements

  • Fichier d’exemple : un parchemin fictif qui utilise tous les champs courants, avec des versions complètes dans les 15 langues de l’interface.
  • Schéma JSON : les mêmes règles sous une forme lisible par les machines (JSON Schema 2020-12), pour les éditeurs, les scripts et les agents d’IA. Ses limites viennent du code même qu’exécute l’importation.

Structure

Scroll
├── language, title, authors, description, tags,
│   sourceUrl, originalYear, originalPeriod
├── summaries: Chapter[]
│   └── ideas: Idea[]
│       └── examples: string[]
└── translations: { language: Translation }
    └── summaries: TranslatedChapter[]
        └── ideas: TranslatedIdea[]

Parchemin (Scroll)

L’objet racine. Dans le schéma, les autres objets s’appellent Chapter (chapitre), Idea (idée), Translation (traduction), TranslatedChapter et TranslatedIdea.

ChampTypeObligatoireRèglesDescription
languagestringouiUn code de langue comme fr ou pt-BRLa langue de la version d’origine. Toute langue convient. Elle ne change pas quand le parchemin est remplacé.
titlestringnonJusqu’à 255 caractèresLe titre du parchemin. Sans lui, il s’appelle "Untitled".
authorsstring[]nonTous les noms ensemble, jusqu’à 255 caractèresLes créateurs de la source, dans l’ordre : auteurs, animateurs ou intervenants. Une seule chaîne est aussi acceptée. Sans nom, on affiche "Unknown".
descriptionstringnonJusqu’à 600 caractèresDeux ou trois phrases sur ce que l’on apprend.
tagsstring[]nonJusqu’à 5, chacun de 1 à 30 caractères, sans # ni virguleDes thèmes courts dans cette langue. Des tags qui ne diffèrent que par la casse, les accents ou la largeur comptent pour un seul. Sans ce champ, les tags enregistrés sont conservés ; une liste vide les efface.
sourceUrlstringnonUne URL http ou https, jusqu’à 2000 caractèresUn lien vers l’original.
originalYearintegernonDe -3000 à l’année en cours, sauf 0L’année de parution de l’original. Les années négatives sont av. J.-C.
originalPeriodstringnonJusqu’à 80 caractèresQuand l’original est paru, pour les œuvres sans année exacte, comme "Ve siècle av. J.-C.".
summariesChapter[]ouiAu moins une idée ; jusqu’à 500 idées en toutLes chapitres, dans l’ordre de lecture.
translationsobjectnonLes clés sont des codes de langue autres que languageDes versions complètes dans d’autres langues. Chaque valeur est une Translation.

Chapitre (Chapter)

ChampTypeObligatoireRèglesDescription
titlestringnonJusqu’à 200 octetsLe titre du chapitre. Sans lui, il devient "Chapter N". La limite compte des octets : dans les écritures non latines, il tient donc moins de caractères.
ideasIdea[]nonLes idées du chapitre, dans l’ordre de lecture.

Idée (Idea)

ChampTypeObligatoireRèglesDescription
textstringouiJusqu’à 400 caractèresL’idée : une pensée complète, compréhensible sur sa propre carte. Une idée au texte vide est ignorée.
tierstringnonimportant, good ou commonL’importance de l’idée. Les idées importantes ont leur propre apparence sur la carte. Absente ou avec une autre valeur, elle compte comme common.
examplesstring[]nonJusqu’à 20, chacun de 400 caractères au plusAffichés quand on fait glisser la carte sur le côté. Les entrées vides ou qui ne sont pas du texte sont écartées.

Traduction (Translation)

Chaque entrée de translations est une version complète du parchemin dans cette langue. Elle doit avoir les mêmes chapitres, idées et exemples que l’original, dans le même ordre et en même nombre.

ChampTypeObligatoireRèglesDescription
titlestringouiNon vide, jusqu’à 255 caractèresLe titre dans cette langue.
authorsstring[]ouiNon videLes noms des créateurs tels qu’on les écrit dans cette langue.
descriptionstringnonComme dans l’originalLa description dans cette langue.
tagsstring[]nonComme dans l’originalDes tags pour les lecteurs de cette langue. Ils n’ont pas à reprendre ceux de l’original.
originalPeriodstringnonComme dans l’originalLa période dans cette langue ; sans elle, celle de l’original s’affiche.
summariesTranslatedChapter[]ouiMême nombre que l’originalLes chapitres dans cette langue.

Un TranslatedChapter a un title non vide et des ideas, autant que dans le chapitre d’origine. Une TranslatedIdea a un text non vide et des examples, autant que dans l’idée d’origine, aucun vide. Les idées traduites omettent tier : il vient de l’original, et une valeur différente est refusée.

Comment l’importation lit les valeurs

  • Le texte est nettoyé des espaces aux deux extrémités, et les longueurs comptent les caractères tels qu’on les voit.
  • Un champ facultatif vide est traité comme absent.
  • Les champs non décrits ici sont ignorés.
  • Chaque lecteur voit la version de sa langue et, à défaut, l’original.

Exemple

{
  "language": "en",
  "title": "Small steps",
  "authors": ["Ada Example"],
  "description": "How small, repeated actions shape what you notice and do.",
  "tags": ["habits", "attention"],
  "sourceUrl": "https://example.org/small-steps",
  "originalYear": 1841,
  "summaries": [
    {
      "title": "Starting small",
      "ideas": [
        {
          "text": "Make the first step so small that you can take it on a bad day.",
          "tier": "important",
          "examples": ["Read one page every evening."]
        },
        {
          "text": "You notice more of what you have decided to look for.",
          "tier": "common",
          "examples": []
        }
      ]
    }
  ],
  "translations": {
    "de": {
      "title": "Kleine Schritte",
      "authors": ["Ada Beispiel"],
      "description": "Wie kleine, wiederholte Handlungen prägen, was wir bemerken und tun.",
      "tags": ["gewohnheiten", "aufmerksamkeit"],
      "summaries": [
        {
          "title": "Klein anfangen",
          "ideas": [
            {
              "text": "Mach den ersten Schritt so klein, dass er dir auch an einem schlechten Tag gelingt.",
              "examples": ["Lies jeden Abend eine Seite."]
            },
            {
              "text": "Du bemerkst mehr von dem, wonach du zu suchen beschlossen hast.",
              "examples": []
            }
          ]
        }
      ]
    }
  }
}

Limites

QuoiLimite
Idée ou exemple400 caractères
Idées par parchemin500
Exemples par idée20
Titre, auteurs255 caractères
Titre de chapitre200 octets
Description600 caractères
Tags5 par langue, 30 caractères chacun
Contenu d’une langue1 Mo
Fichier importé8 Mo
Parchemins possédés200

Erreurs d’importation courantes

  • Le fichier n’est pas du JSON valide. Demandez à l’assistant « uniquement du JSON valide », ou cherchez une virgule ou un guillemet manquant. Supprimez tout texte avant ou après l’objet JSON.
  • La langue manque. Ajoutez "language" avec un code comme fr.
  • Une idée ou un exemple est trop long. Le message indique la langue, le chapitre, l’idée et l’exemple ; raccourcissez ce texte.
  • Une traduction ne correspond pas. Chaque version doit avoir le même nombre de chapitres, d’idées et d’exemples, dans le même ordre.
  • Trop d’idées, ou un fichier trop gros. Répartissez la source sur deux parchemins.
  • Vous possédez déjà le maximum de parchemins. Remplacez-en un dont vous n’avez plus besoin ; voir Modifier, remplacer et partager.