Open RochDLY opened 2 weeks ago
Est-il nécessaire d'avoir 2 cases séparées pour les prénoms et noms ? Dans certaines cultures, la séparation n'est pas si nette : https://www.w3.org/International/questions/qa-personal-names.fr
Est-ce qu'avoir un champ unique ferait l'affaire ?
Dans la liste, il est indiqué :
- Titre de l'article (title_f)(str)(obligatoire)
- Titre traduit (translatedTitle:)
- langue (lang)(select language)
- titre (text_f)(str)
Est-ce qu'il serait pertinent de préciser la langue du "Titre de l'article" ? Et si oui, est-ce qu'une représentation pourrait être plutôt qu'il y a 1 ou plusieurs titres, avec à chaque fois associé à un titre une langue ?
Les sous-titres doivent-ils être eux aussi associés à une langue ?
Affiliations doit accepter plusieurs entrées, mais doivent-elles être dans des champs séparés ? (a priori je dirais non mais je préfère avoir confirmation)
Les mots clés sont ils associés à une langue ?
Noms
Est-il nécessaire d'avoir 2 cases séparées pour les prénoms et noms ? Dans certaines cultures, la séparation n'est pas si nette : https://www.w3.org/International/questions/qa-personal-names.fr
Est-ce qu'avoir un champ unique ferait l'affaire ?
À mon avis il est préférable de garder les deux séparés pour plusieurs raisons :
Mots-clés
Les mots clés sont ils associés à une langue ?
Les mot-clés standards oui, on associe toujours les mot-clefs a une langue (on peut mettre plusieurs langues et plusieurs mot-clefs associés à chaque langue)
Les mot-clefs contrôlés sont alignés sur le vocabulaire RAMEAU, on a pas de sélecteur de langue dans Stylo parce que RAMEAU l'intègre directement dans son vocabulaire
Titres traduits
Dans la liste, il est indiqué :
- Titre de l'article (title_f)(str)(obligatoire)
Titre traduit (translatedTitle:)
- langue (lang)(select language)
- titre (text_f)(str)
Est-ce qu'il serait pertinent de préciser la langue du "Titre de l'article" ? Et si oui, est-ce qu'une représentation pourrait être plutôt qu'il y a 1 ou plusieurs titres, avec à chaque fois associé à un titre une langue ?
Sous-titres
Les sous-titres doivent-ils être eux aussi associés à une langue ?
A priori je dirai que que la langue du titre de l'article est la même que la langue de l'article (cette info est déjà présente dans Stylo, je la rajoute dans le modèle au-dessus, j'ai dû la zapper)
Je me permets une précision à propos du titre en plusieurs langues : certaines revues ont besoin d'avoir le titre traduit dans plusieurs langues, comme c'est le cas pour les résumés. Donc oui il serait pertinent d'avoir une représentation avec plusieurs titres et la langue associée à chaque fois.
Je me demande s'il ne serait pas intéressant de se donner la possibilité de revoir le nommage et la structure des métadonnées existantes. De ce que je comprends, il y aura de toute façon un travail "important" sur les templates.
Par exemple, pour les traductions on pourrait avoir structure comme suit :
{
"title": {
"default": "Titre principal du document",
"translations": {
"fr": "Titre en français",
"en": "Title in English",
"jp": "日本語のタイトル"
}
}
}
Ca me semble être une bonne idée, surtout si cela peut alléger un peu toute cette structure. Par contre est-ce que tu as une idée de comment gérer la rétrocompatibilité avec tous les articles existant ?
Ca me semble être une bonne idée, surtout si cela peut alléger un peu toute cette structure. Par contre est-ce que tu as une idée de comment gérer la rétrocompatibilité avec tous les articles existant ?
Je pense qu'il faudra faire une migration du YAML existant vers la nouvelle structure :
title_f: "Titre principal du document"
translatedTitle:
lang: "en"
text_f: "Title in English"
{
"title": {
"default": "Titre principal du document",
"translations": {
"en": "Title in English"
}
}
}
Le nouveau composant des métadonnées s’appuiera sur cette nouvelle structure.
Je pense que ça serait une bonne idée de clarifier la notion de title_f
(formatted) et title
. Est-ce qu'on distingue les champs texte (brute) des champs texte où on accepte de la syntaxe Markdown ? Est-ce qu'on supporte uniquement un sous-ensemble de la syntaxe Markdown ? Comment est-ce qu'on doit passer les informations au(x) template(s) ? Est-ce qu'il faut avoir une version texte brute (sans les balises Markdown) et une version avec les balisages ? est-ce qu'il faut fournir une version rendu du texte (au format HTML) ?
title_f envoie le texte tel quel il a été inséré par l'utilisateur (donc avec balises md s'il y en a). title envoie le texte brut après avoir retiré les balises - c'est la clé utilisée pour faire par ex les métadonnées en html dans la balise
title_f envoie le texte tel quel il a été inséré par l'utilisateur (donc avec balises md s'il y en a). title envoie le texte brut après avoir retiré les balises - c'est la clé utilisée pour faire par ex les métadonnées en html dans la balise
où on ne peut pas mettre de balises.
Est-ce que le texte de title_f
est utilisé tel quel dans le template ? Est-ce qu'on utilise le titre "rendu" (HTML ?) de title_f
quelque part ?
De ce que je vois on utilise le texte tel quel ? Donc si j'ai : Un _titre_ de livre
, dans la preview on aura les underscores ? 🤔
Roch renvoie au mauvais template.
Exemple d'utilisation de title
: https://gitlab.huma-num.fr/ecrinum/stylo/stylo-export/-/blame/main/templates/generique/templateHtml5.html5?ref_type=heads#L27
Exemple d'utilisation de title_f
(qui est donc utilisé "rendu", à savoir transformé par pandoc): https://gitlab.huma-num.fr/ecrinum/stylo/stylo-export/-/blame/main/templates/generique/templateHtml5.html5?ref_type=heads#L380
C'est Pandoc qui s'occupe de convertir un texte Markdown (issu des métadonnées) en HTML ?
D'après la documentation j'ai l'impression que c'est le cas :
Metadata will be taken from the fields of the YAML object and added to any existing document metadata. Metadata can contain lists and objects (nested arbitrarily), but all string scalars will be interpreted as Markdown. Fields with names ending in an underscore will be ignored by pandoc. (They may be given a role by external processors.) Field names must not be interpretable as YAML numbers or boolean values (so, for example, yes, True, and 15 cannot be used as field names).
https://pandoc.org/chunkedhtml-demo/8.10-metadata-blocks.html
Par contre je n'ai pas trouvé comment faire pour que le texte ne soit pas interprété comme du Markdown (par exemple si on veut que les caractères soient non interprétés)
Oui, c'est pandoc qui convertit. Et il n'est pas possible d'ignorer le formattage d'une valeur (donc transformer par exemple_Mon_ titre
en Mon titre
. Voilà pourquoi il est nécéssaire d'avoir une deuxième clé avec le texte sans formattage.
Pour être plus explicite, exemple: Si j'ai dans mon yaml:
title_f: "_Mon_ titre"
et dans mon template:
<title>$title_f$</title>
Le rendu sera:
<title><i>Mon</i>titre</title>
ce qui est invalide en HTML.
Donc, si l'usager met un titre avec balises de formattation, il est nécessaire d,envoyer dans le yaml aussi un titre avec les balises retirées.
La même chose vaut aussi pour le champ abstract qui va être utilisé dans un span qui affiche le résumé et en métadonnées (donc sans formattage).
Est-ce clair?
Pour apporter quelques précisions, on peut faire un strip_markdown en faisant une requête à l'API GraphQL (une option sur la requête du YAML). Cette option est utilisée ici : https://gitlab.huma-num.fr/ecrinum/stylo/stylo-export/-/blob/main/styloexport/styloapi.py?ref_type=heads#L50
Voir la fonction ici Merci @thom4parisot pour la navigation dans le code ! :-)
Nouvelle question :
Traduction de (translationOf:)
Quel pourcentage des articles (grossierement) est une traduction de… ? Plutôt 1%, 20%, 50%…
Ce ticket comporte les éléments nécessaires à la création d'un premier scénario de métadonnées pour la refonte de ce composant (tout ça doit être accessible depuis l'article Stylo).
Les métadonnées sont présentées comme suit : Nom courant (nom technique)(type)(obligatoire)
J'ai découpé les métadonnées en "groupes" pour plus de lisiblité et créé des objets pour éviter la redondances dans le ticket (par exemple, un traducteur ou un auteur appelle l'objet 'individu" qui contient les champs noms, prénoms, etc.).
Objet individu:
Groupe des personnes :
Groupe des données de l'article :
*pour les articles de Sens Public, ajouter :
Groupe de données du dossier :
?(dossier:)
*On a pas ces données mais elles pourraient être utiles
Groupe de données de la production :
Groupe de données sur la revue :
Questions
citation link: yes or no
etdisplay : all citations or only used
. Cette question est déjà référencée dans la #929 : ne devrait-ont pas déplacer ce paramétrage dans le gestionnaire de références bibliographiques plutôt que de le gestionnaire de métadonnées ? (en gros ce paramètre ajoute une clefnocite
dans les métadonnées que Pandoc traite lors de la transformation, mais ce ne sont pas des données sur l'article; le deuxième paramètre ajout une cleflink-citations
pour la même raison)*
, ce sont soit des propositions d'ajout à discuter (et à vérifier si elles existent dans le schéma COMMONS, soit qu'elles ne concerne qu'une seule revue.