Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Erreur 400 lors de la génération de la preview (article et corpus) #1249

Closed
RochDLY opened this issue Feb 6, 2025 · 22 comments · Fixed by #1273
Closed

Erreur 400 lors de la génération de la preview (article et corpus) #1249

RochDLY opened this issue Feb 6, 2025 · 22 comments · Fixed by #1273
Labels
🐞 bug [domain] export 📜 Module d'export multi-formats par défaut (depuis Stylo v2)

Comments

@RochDLY
Copy link
Collaborator

RochDLY commented Feb 6, 2025

Version de Stylo

3.2.5

Comportement actuel

Le génération de la preview d'un article ou d'un corpus génère une page blanche contenant le message "La génération de la prévisualisation a échoué."

Dans la console, on peut observer l'erreur suivante:

POST https://export.stylo.huma-num.fr/api/article_preview 400 (Bad Request) index-Br0XARQn.js:89

Information complémentaire

Voir par exemple cette preview

@thom4parisot
Copy link
Member

Logs de la preview :

export-stylo  | [2025-02-10 14:32:11 +0000] [9] [DEBUG] POST /api/article_preview
export-stylo  | [2025-02-10 14:32:11,222] DEBUG in pandocapi: Calling Pandoc API `convert/html/` with query `{'name': 'preview.html', 'with_toc': 1, 'with_ascii': 0, 'with_link_citations': 1, 'with_nocite': 1, 'standalone': 0}`
export-stylo  | [2025-02-10 14:32:11,322] ERROR in pandocapi: Error response 500 while requesting URL('http://pandoc-api:8000/latest/convert/html/?name=preview.html&with_toc=1&with_ascii=0&with_link_citations=1&with_nocite=1&standalone=0').

Logs de Pandoc API gunicorn.error.log (pas sûr que ça soit lié) :

[WARNING] Citeproc: citation sec:conditionnelles not found
[WARNING] Citeproc: citation sec:conversions-python not found
[WARNING] Citeproc: citation sec:donnee not found
[WARNING] Citeproc: citation sec:drapeau-continuation not found
[WARNING] Citeproc: citation sec:etude-de-cas not found
[WARNING] Citeproc: citation sec:eval-sequentielle not found
[WARNING] Citeproc: citation sec:exo-ep-nsi not found
[WARNING] Citeproc: citation sec:expressions not found
[WARNING] Citeproc: citation sec:operateurs not found
[WARNING] Citeproc: citation sec:produire not found
[WARNING] Citeproc: citation sec:redondantes not found
[WARNING] Citeproc: citation sec:structures not found
[WARNING] Citeproc: citation sec:valeurs not found

[WARNING] Citeproc: citation delattre_les_2010 not found

[WARNING] Citeproc: citation delattre_les_2010 not found

[WARNING] Citeproc: citation delattre_les_2010 not found

[WARNING] Citeproc: citation delattre_les_2010 not found

[WARNING] Citeproc: citation delattre_les_2010 not found

[WARNING] Citeproc: citation delattre_les_2010 not found

[WARNING] Citeproc: citation delattre_les_2010 not found

[WARNING] Citeproc: citation delattre_les_2010 not found

[WARNING] Citeproc: citation delattre_les_2010 not found

[WARNING] Citeproc: citation delattre_les_2010 not found

[WARNING] Citeproc: citation delattre_les_2010 not found

[WARNING] Citeproc: citation delattre_les_2010 not found

[WARNING] Citeproc: citation ERSpublications not found
[WARNING] Citeproc: citation EpiEllie not found
[WARNING] Citeproc: citation IanRicksecker not found
[WARNING] Citeproc: citation LazarusLong13 not found
[WARNING] Citeproc: citation VirusesImmunity not found
[WARNING] Citeproc: citation ahandvanish not found
[WARNING] Citeproc: citation dgurdasani1 not found
[WARNING] Citeproc: citation nytimes not found
[WARNING] Citeproc: citation thitran3 not found

[WARNING] Missing character: There is no σ (U+03C3) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no υ (U+03C5) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no μ (U+03BC) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ϐ (U+03D0) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ο (U+03BF) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no υ (U+03C5) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no λ (U+03BB) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ε (U+03B5) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no υ (U+03C5) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no τ (U+03C4) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ι (U+03B9) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no κ (U+03BA) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ὸ (U+1F78) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ν (U+03BD) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no γ (U+03B3) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no έ (U+03AD) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ν (U+03BD) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ο (U+03BF) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ς (U+03C2) in font [lmroman12-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ε (U+03B5) in font [lmroman10-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ρ (U+03C1) in font [lmroman10-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ὶ (U+1F76) in font [lmroman10-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ἑ (U+1F11) in font [lmroman10-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ρ (U+03C1) in font [lmroman10-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no μ (U+03BC) in font [lmroman10-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no η (U+03B7) in font [lmroman10-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ν (U+03BD) in font [lmroman10-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ε (U+03B5) in font [lmroman10-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ί (U+1F77) in font [lmroman10-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no α (U+03B1) in font [lmroman10-italic]:mapping=tex-text;!
[WARNING] Missing character: There is no ς (U+03C2) in font [lmroman10-italic]:mapping=tex-text;!

[WARNING] Citeproc: citation rosillo_lopez_cristina_praising_2010 not found
[WARNING] Citeproc: citation rosillo_lopez_cristina_praising_2010 not found
[WARNING] Citeproc: citation rosillo_lopez_cristina_praising_2010 not found
[WARNING] Citeproc: citation rosillo_lopez_cristina_praising_2010 not found
[WARNING] Citeproc: citation rosillo_lopez_cristina_praising_2010 not found
[WARNING] Citeproc: citation rosillo_lopez_cristina_praising_2010 not found

[WARNING] Citeproc: citation rosillo_lopez_cristina_praising_2010 not found

[WARNING] Citeproc: citation rosillo_lopez_cristina_praising_2010 not found

[WARNING] Citeproc: citation rosillo_lopez_cristina_praising_2010 not found

[WARNING] Citeproc: citation rosillo_lopez_cristina_praising_2010 not found

[WARNING] Citeproc: citation rosillo_lopez_cristina_praising_2010 not found

[WARNING] Note with key '47' defined at line 173 column 1 but not used.

[WARNING] Note with key '47' defined at line 173 column 1 but not used.

[WARNING] Missing character: There is no ᵒ (U+1D52) in font [lmroman12-regular]:mapping=tex-text;!

[WARNING] This document format requires a nonempty <title> element.
  Defaulting to '-' as the title.
  To specify a title, use 'title' in metadata or --metadata title="...".

[WARNING] Citeproc: citation binde_quand_2021 not found
[WARNING] Citeproc: citation max_dozolme_k-pop_nodate not found
[WARNING] Citeproc: citation red_velvet_feel_2022 not found
[WARNING] Citeproc: citation vincenzo_cicchelli_k-pop_2022 not found

[WARNING] Citeproc: citation binde_quand_2021 not found
[WARNING] Citeproc: citation max_dozolme_k-pop_nodate not found
[WARNING] Citeproc: citation red_velvet_feel_2022 not found
[WARNING] Citeproc: citation vincenzo_cicchelli_k-pop_2022 not found

[WARNING] Citeproc: citation binde_quand_2021 not found
[WARNING] Citeproc: citation max_dozolme_k-pop_nodate not found
[WARNING] Citeproc: citation red_velvet_feel_2022 not found
[WARNING] Citeproc: citation vincenzo_cicchelli_k-pop_2022 not found

[WARNING] Citeproc: citation binde_quand_2021 not found
[WARNING] Citeproc: citation max_dozolme_k-pop_nodate not found
[WARNING] Citeproc: citation red_velvet_feel_2022 not found
[WARNING] Citeproc: citation vincenzo_cicchelli_k-pop_2022 not found

[WARNING] Citeproc: citation binde_quand_2021 not found
[WARNING] Citeproc: citation max_dozolme_k-pop_nodate not found
[WARNING] Citeproc: citation red_velvet_feel_2022 not found
[WARNING] Citeproc: citation vincenzo_cicchelli_k-pop_2022 not found

@davidbgk ça te parle ? on se programme un appel pour déboguer ça ?

@davidbgk
Copy link
Collaborator

@thom4parisot on dirait qu'il manque le log de l'erreur elle-même, là on a les warnings qui ne devraient pas être bloquants pour la génération

@thom4parisot thom4parisot added the [domain] export 📜 Module d'export multi-formats par défaut (depuis Stylo v2) label Feb 10, 2025
@thom4parisot
Copy link
Member

thom4parisot commented Feb 12, 2025

OK on a trouvé comment reproduire le problème.

❌ Si on modifie les données via le formulaire, ça plante. Contenu envoyé :

---
'@version': '1.0'
abstract:
  - lang: fr
    text: |-
      L’intention de ce travail est d’adresser à ceux et celles souhaitant
      faire de la philosophie de terrain un message de méfiance et de
      prudence. Pour ce faire, nous identifions trois distinctions
      conceptuelles héritées de l’histoire de la philosophie qui viennent,
      selon nous, parasiter le travail du philosophe sur le terrain. La
      sédimentation de ces distinctions en dualismes, s’opérant entre
      l’universel et le local, l’analyse du laboratoire et la collecte de
      terrain, ou encore un savoir critique et des habitudes aliénantes sont
      autant de dangers pour le projet de la philosophie de terrain. Pour
      illustrer ainsi ces trois appels à la prudence, nous prenons pour
      exemple la philosophie de terrain en éducation, c’est-à-dire la
      rencontre entre la philosophie de l’éducation et la philosophie de
      terrain. Enfin, pour dépasser cet état des lieux, nous mobilisons la
      philosophie de Bruno Latour et de ses alliés sur les enjeux soulevés par
      ces distinctions, pour dessiner des pistes de réponses à ces problèmes.
    text_f: |-
      L’intention de ce travail est d’adresser à ceux et celles souhaitant
      faire de la philosophie de terrain un message de méfiance et de
      prudence. Pour ce faire, nous identifions trois distinctions
      conceptuelles héritées de l’histoire de la philosophie qui viennent,
      selon nous, parasiter le travail du philosophe sur le terrain. La
      sédimentation de ces distinctions en dualismes, s’opérant entre
      l’universel et le local, l’analyse du laboratoire et la collecte de
      terrain, ou encore un savoir critique et des habitudes aliénantes sont
      autant de dangers pour le projet de la philosophie de terrain. Pour
      illustrer ainsi ces trois appels à la prudence, nous prenons pour
      exemple la philosophie de terrain en éducation, c’est-à-dire la
      rencontre entre la philosophie de l’éducation et la philosophie de
      terrain. Enfin, pour dépasser cet état des lieux, nous mobilisons la
      philosophie de Bruno Latour et de ses alliés sur les enjeux soulevés par
      ces distinctions, pour dessiner des pistes de réponses à ces problèmes.
authors: []
controlledKeywords:
  - idRameau: ''
    label: Philosophie
    uriRameau: http://data.culture.fr/thesaurus/resource/ark:/67717/T990-1529
  - idRameau: ''
    label: philosophie
    uriRameau: http://www.eionet.europa.eu/gemet/concept/6187
director: []
dossier:
  - {}
funder: {}
id: SP1788
issueDirectors: []
keywords:
  - lang: fr
    list: >-
      philosophie de terrain, philosophie de l’éducation, John Dewey, Bruno
      Latour, terrestre
    list_f: >-
      philosophie de terrain, philosophie de l’éducation, John Dewey, Bruno
      Latour, terrestre
lang: fr
reviewers: []
subtitle: Aller du terrain aux terrestres&nbsp;; une esquisse
subtitle_f: Aller du terrain aux terrestres&nbsp;; une esquisse
title: Repenser la philosophie de l’éducation par la pratique
title_f: Repenser la philosophie de l’éducation par la pratique
transcribers: []
translatedTitle: []
translationOf:
  - null
translator: []
type: article
typeArticle: []
url_article: /articles/1788
---

✅ Si on modifie les données via le YAML brut, ça fonctionne. Contenu envoyé :

---
'@version': 1.0.1
abstract:
  - lang: fr
    text: |-
      L’intention de ce travail est d’adresser à ceux et celles souhaitant
      faire de la philosophie de terrain un message de méfiance et de
      prudence. Pour ce faire, nous identifions trois distinctions
      conceptuelles héritées de l’histoire de la philosophie qui viennent,
      selon nous, parasiter le travail du philosophe sur le terrain. La
      sédimentation de ces distinctions en dualismes, s’opérant entre
      l’universel et le local, l’analyse du laboratoire et la collecte de
      terrain, ou encore un savoir critique et des habitudes aliénantes sont
      autant de dangers pour le projet de la philosophie de terrain. Pour
      illustrer ainsi ces trois appels à la prudence, nous prenons pour
      exemple la philosophie de terrain en éducation, c’est-à-dire la
      rencontre entre la philosophie de l’éducation et la philosophie de
      terrain. Enfin, pour dépasser cet état des lieux, nous mobilisons la
      philosophie de Bruno Latour et de ses alliés sur les enjeux soulevés par
      ces distinctions, pour dessiner des pistes de réponses à ces problèmes.
    text_f: |-
      L’intention de ce travail est d’adresser à ceux et celles souhaitant
      faire de la philosophie de terrain un message de méfiance et de
      prudence. Pour ce faire, nous identifions trois distinctions
      conceptuelles héritées de l’histoire de la philosophie qui viennent,
      selon nous, parasiter le travail du philosophe sur le terrain. La
      sédimentation de ces distinctions en dualismes, s’opérant entre
      l’universel et le local, l’analyse du laboratoire et la collecte de
      terrain, ou encore un savoir critique et des habitudes aliénantes sont
      autant de dangers pour le projet de la philosophie de terrain. Pour
      illustrer ainsi ces trois appels à la prudence, nous prenons pour
      exemple la philosophie de terrain en éducation, c’est-à-dire la
      rencontre entre la philosophie de l’éducation et la philosophie de
      terrain. Enfin, pour dépasser cet état des lieux, nous mobilisons la
      philosophie de Bruno Latour et de ses alliés sur les enjeux soulevés par
      ces distinctions, pour dessiner des pistes de réponses à ces problèmes.
controlledKeywords:
  - idRameau: ''
    label: Philosophie
    uriRameau: http://data.culture.fr/thesaurus/resource/ark:/67717/T990-1529
  - idRameau: ''
    label: philosophie
    uriRameau: http://www.eionet.europa.eu/gemet/concept/6187
dossier:
  - {}
funder: {}
id: SP1788
keywords:
  - lang: fr
    list: >-
      philosophie de terrain, philosophie de l’éducation, John Dewey, Bruno
      Latour, terrestre
    list_f: >-
      philosophie de terrain, philosophie de l’éducation, John Dewey, Bruno
      Latour, terrestre
lang: fr
subtitle: Aller du terrain aux terrestres&nbsp;; une esquisse
subtitle_f: Aller du terrain aux terrestres&nbsp;; une esquisse
title: Repenser la philosophie de l’éducation par la pratique
title_f: Repenser la philosophie de l’éducation par la pratique
translationOf:
  - null
type: article
typeArticle: []
url_article: /articles/1788
---

Image

⚠️ @davidbgk la liste des champs de métadonnées concernés :

  • authors
  • director
  • issueDirectors
  • reviewers
  • transcribers
  • translatedTitle
  • translator

Ce sont tous des tableaux, vides. Quand ils sont présents (mais vides) dans les données transmises, ça plante. Quand ils n'apparaissent pas, c'est ok.

Après en terme de nommage, y'en a certains qui sont au singulier mais considérés comme avec des valeurs multiples (je pense à authors vs translator…).

@davidbgk
Copy link
Collaborator

@thom4parisot il y a authors aussi il me semble ?

@thom4parisot
Copy link
Member

Oui, je viens de l'ajouter.

@davidbgk
Copy link
Collaborator

Chose(s) étrange(s) :

  1. on a transcriber dans les templates HTML actuels et dans le yaml ça semble être la clé transcribers
  2. on a translators dans les templates HTML actuels et dans le yaml ça semble être la clé translator (oui c'est bien l'inverse de 1.)
  3. reviewers et translatedTitle ne sont pas utilisés dans les templates HTML

Pour 1 et 2, est-ce que ce sont bien aux templates de s'adapter ?

/cc @RochDLY @marviro

@thom4parisot
Copy link
Member

@davidbgk même résultat avec la version 2.1.1, entre autre parce que les autres clés sont quand même générées comme des tableaux vides :-(

@thom4parisot
Copy link
Member

Comment est-ce qu'on peut avancer dans la résolution de ce problème ?

@RochDLY
Copy link
Collaborator Author

RochDLY commented Feb 14, 2025

Chose(s) étrange(s) :

  1. on a transcriber dans les templates HTML actuels et dans le yaml ça semble être la clé transcribers
  2. on a translators dans les templates HTML actuels et dans le yaml ça semble être la clé translator (oui c'est bien l'inverse de 1.)
  3. reviewers et translatedTitle ne sont pas utilisés dans les templates HTML

Pour 1 et 2, est-ce que ce sont bien aux templates de s'adapter ?

/cc @RochDLY @marviro

Merci @davidbgk pour ces remarques. Effectivement c'est bien aux templates de s'adapter. On doit se faire un atelier avec @marviro un jour pour faire ça.
Pour le troisième point on en a déjà pris conscience avec @ggrossetie lorsqu'on a modifié la structure des métadonnées. On les supprimera plus tard.

@ggrossetie
Copy link
Collaborator

Je pense que ça pourrait être bien d'avoir le JSON schéma correspondant au format actuellement utilisé (et attendu) dans les templates.

On a le JSON schéma pour la nouvelle structure mais pas pour la structure actuel.
Je ne me rends pas compte de l'effort à fournir afin de migrer les templates sur la nouvelle structure ?

Stylo applique des transformations sur la nouvelle structure des métadonnées afin de garantir la rétro-compatibilité mais il y a certains cas où ça ne fonctionne pas super bien.

Il faudrait aussi bien définir les responsabilités de chaque composants. Est ce que Stylo doit bloquer l'enregistrement de métadonnées qui ne sont pas compatibles avec le JSON schéma ? Est ce que la conversion entre le nouveau format et le format legacy doit se faire côté Stylo ou côté export ? Comment est-ce qu'on peut remonter une erreur "parlante" à l'utilisateur quand la conversion du nouveau schéma vers le schéma legacy plante (par exemple quand la structure est correcte mais qu'une valeur est incorrecte) ou quand le template plante ?

@ggrossetie
Copy link
Collaborator

Après en terme de nommage, y'en a certains qui sont au singulier mais considérés comme avec des valeurs multiples (je pense à authors vs translator…).

Normalement, avec le nouveau schéma on a remis de la cohérence dans les nommages.

On a modifié certaines conditions dans les templates afin de vérifier que le champ existe, que c'est un tableau et qu'il n'est pas vide. Dans certains cas, le template va directement tenter d'accéder à un élément d'un tableau (par exemple le name de l'auteur) alors que le tableau est vide ou contient autre chose qu'un objet.

@thom4parisot
Copy link
Member

thom4parisot commented Feb 15, 2025

Y'a un truc que je ne comprends pas, quand je prends les éléments de l'article et que je le passe direct à pandoc, y'a aucune erreur :

pandoc --bibliography meta.bib --standalone --citeproc --metadata-file=meta.yaml -t md -t html content.md
pandoc --version
pandoc 3.6.2
Features: +server +lua
Scripting engine: Lua 5.4

D'ailleurs là je me dis pour des questions de débogabilité, y'a plusieurs couches à tester à markdown/yaml/bib identiques :

  • de stylo à stylo-export
  • de md/bib/yaml à pandoc (ligne de commande)
  • de md/bib/yaml à pandoc-api

@ggrossetie
Copy link
Collaborator

Tu récupères les métadonnées via l'API GraphQL avec l'option strip_markdown ?

@thom4parisot
Copy link
Member

Oui, avec la requête getArticle de la preview.

@davidbgk
Copy link
Collaborator

Deux choses diffèrent :

  1. La version de Pandoc est bloquée en 3.1.6.2 justement pour rester compatible avec les templates actuels
  2. Le template est celui-ci par défaut pour l'export : https://gitlab.huma-num.fr/ecrinum/stylo/stylo-export/-/blob/main/templates/generique/templateHtml5.html5

@davidbgk
Copy link
Collaborator

Je viens de réaliser que la version de Pandoc n'a pas été mise à jour dans l'image Docker : https://gitlab.huma-num.fr/ecrinum/stylo/pandoc-api/-/blob/main/dockerfile?ref_type=heads#L21 je vais regarder plus tard 👍

@thom4parisot
Copy link
Member

thom4parisot commented Feb 17, 2025

Ça fonctionne aussi quand je fais appel à la version conteneurisée de pandoc :

docker run -ti -v .:/files davidbgk/pandoc-api:2.0.0 pandoc --bibliography /files/meta.bib --standalone --citeproc --metadata-file=/files/meta.yaml -t md -t html /files/content.md
docker run -ti davidbgk/pandoc-api:2.0.0 pandoc --version
pandoc 2.19.2
Compiled with pandoc-types 1.22.2.1, texmath 0.12.5.2, skylighting 0.13,
citeproc 0.8.0.1, ipynb 0.2, hslua 2.2.1

Le yaml qui fait planter :

---
'@version': 1.0.1
abstract:
  - lang: fr
    text: |-
      L’intention de ce travail est d’adresser à ceux et celles souhaitant
      faire de la philosophie de terrain un message de méfiance et de
      prudence. Pour ce faire, nous identifions trois distinctions
      conceptuelles héritées de l’histoire de la philosophie qui viennent,
      selon nous, parasiter le travail du philosophe sur le terrain. La
      sédimentation de ces distinctions en dualismes, s’opérant entre
      l’universel et le local, l’analyse du laboratoire et la collecte de
      terrain, ou encore un savoir critique et des habitudes aliénantes sont
      autant de dangers pour le projet de la philosophie de terrain. Pour
      illustrer ainsi ces trois appels à la prudence, nous prenons pour
      exemple la philosophie de terrain en éducation, c’est-à-dire la
      rencontre entre la philosophie de l’éducation et la philosophie de
      terrain. Enfin, pour dépasser cet état des lieux, nous mobilisons la
      philosophie de Bruno Latour et de ses alliés sur les enjeux soulevés par
      ces distinctions, pour dessiner des pistes de réponses à ces problèmes.
    text_f: |-
      L’intention de ce travail est d’adresser à ceux et celles souhaitant
      faire de la philosophie de terrain un message de méfiance et de
      prudence. Pour ce faire, nous identifions trois distinctions
      conceptuelles héritées de l’histoire de la philosophie qui viennent,
      selon nous, parasiter le travail du philosophe sur le terrain. La
      sédimentation de ces distinctions en dualismes, s’opérant entre
      l’universel et le local, l’analyse du laboratoire et la collecte de
      terrain, ou encore un savoir critique et des habitudes aliénantes sont
      autant de dangers pour le projet de la philosophie de terrain. Pour
      illustrer ainsi ces trois appels à la prudence, nous prenons pour
      exemple la philosophie de terrain en éducation, c’est-à-dire la
      rencontre entre la philosophie de l’éducation et la philosophie de
      terrain. Enfin, pour dépasser cet état des lieux, nous mobilisons la
      philosophie de Bruno Latour et de ses alliés sur les enjeux soulevés par
      ces distinctions, pour dessiner des pistes de réponses à ces problèmes.
authors: []
controlledKeywords:
  - idRameau: ''
    label: Philosophie
    uriRameau: http://data.culture.fr/thesaurus/resource/ark:/67717/T990-1529
  - idRameau: ''
    label: philosophie
    uriRameau: http://www.eionet.europa.eu/gemet/concept/6187
director: []
dossier:
  - {}
funder: {}
id: SP1788
issueDirectors: []
keywords:
  - lang: fr
    list: >-
      philosophie de terrain, philosophie de l’éducation, John Dewey, Bruno
      Latour, terrestre
    list_f: >-
      philosophie de terrain, philosophie de l’éducation, John Dewey, Bruno
      Latour, terrestre
lang: fr
reviewers: []
subtitle: Aller du terrain aux terrestres&nbsp;; une esquisse
subtitle_f: Aller du terrain aux terrestres&nbsp;; une esquisse
title: Repenser la philosophie de l’éducation par la pratique
title_f: Repenser la philosophie de l’éducation par la pratique
transcribers: []
translatedTitle: []
translationOf:
  - null
translator: []
type: article
typeArticle: []
url_article: /articles/1788
---

Le yaml transmis à stylo-export (quand on sauvegarde le document en modifiant le contenu YAML en texte, pas via le formulaire) :

---
'@version': 1.0.1
abstract:
  - lang: fr
    text: |-
      L’intention de ce travail est d’adresser à ceux et celles souhaitant
      faire de la philosophie de terrain un message de méfiance et de
      prudence. Pour ce faire, nous identifions trois distinctions
      conceptuelles héritées de l’histoire de la philosophie qui viennent,
      selon nous, parasiter le travail du philosophe sur le terrain. La
      sédimentation de ces distinctions en dualismes, s’opérant entre
      l’universel et le local, l’analyse du laboratoire et la collecte de
      terrain, ou encore un savoir critique et des habitudes aliénantes sont
      autant de dangers pour le projet de la philosophie de terrain. Pour
      illustrer ainsi ces trois appels à la prudence, nous prenons pour
      exemple la philosophie de terrain en éducation, c’est-à-dire la
      rencontre entre la philosophie de l’éducation et la philosophie de
      terrain. Enfin, pour dépasser cet état des lieux, nous mobilisons la
      philosophie de Bruno Latour et de ses alliés sur les enjeux soulevés par
      ces distinctions, pour dessiner des pistes de réponses à ces problèmes.
    text_f: |-
      L’intention de ce travail est d’adresser à ceux et celles souhaitant
      faire de la philosophie de terrain un message de méfiance et de
      prudence. Pour ce faire, nous identifions trois distinctions
      conceptuelles héritées de l’histoire de la philosophie qui viennent,
      selon nous, parasiter le travail du philosophe sur le terrain. La
      sédimentation de ces distinctions en dualismes, s’opérant entre
      l’universel et le local, l’analyse du laboratoire et la collecte de
      terrain, ou encore un savoir critique et des habitudes aliénantes sont
      autant de dangers pour le projet de la philosophie de terrain. Pour
      illustrer ainsi ces trois appels à la prudence, nous prenons pour
      exemple la philosophie de terrain en éducation, c’est-à-dire la
      rencontre entre la philosophie de l’éducation et la philosophie de
      terrain. Enfin, pour dépasser cet état des lieux, nous mobilisons la
      philosophie de Bruno Latour et de ses alliés sur les enjeux soulevés par
      ces distinctions, pour dessiner des pistes de réponses à ces problèmes.
controlledKeywords:
  - idRameau: ''
    label: Philosophie
    uriRameau: http://data.culture.fr/thesaurus/resource/ark:/67717/T990-1529
  - idRameau: ''
    label: philosophie
    uriRameau: http://www.eionet.europa.eu/gemet/concept/6187
dossier:
  - {}
funder: {}
id: SP1788
keywords:
  - lang: fr
    list: >-
      philosophie de terrain, philosophie de l’éducation, John Dewey, Bruno
      Latour, terrestre
    list_f: >-
      philosophie de terrain, philosophie de l’éducation, John Dewey, Bruno
      Latour, terrestre
lang: fr
subtitle: Aller du terrain aux terrestres&nbsp;; une esquisse
subtitle_f: Aller du terrain aux terrestres&nbsp;; une esquisse
title: Repenser la philosophie de l’éducation par la pratique
title_f: Repenser la philosophie de l’éducation par la pratique
translationOf:
  - null
type: article
typeArticle: []
url_article: /articles/1788
---

Et le yaml tel qu'il apparait dans le champ texte :

---
'@version': 1.0.1
abstract: |-
  L’intention de ce travail est d’adresser à ceux et celles souhaitant
  faire de la philosophie de terrain un message de méfiance et de
  prudence. Pour ce faire, nous identifions trois distinctions
  conceptuelles héritées de l’histoire de la philosophie qui viennent,
  selon nous, parasiter le travail du philosophe sur le terrain. La
  sédimentation de ces distinctions en dualismes, s’opérant entre
  l’universel et le local, l’analyse du laboratoire et la collecte de
  terrain, ou encore un savoir critique et des habitudes aliénantes sont
  autant de dangers pour le projet de la philosophie de terrain. Pour
  illustrer ainsi ces trois appels à la prudence, nous prenons pour
  exemple la philosophie de terrain en éducation, c’est-à-dire la
  rencontre entre la philosophie de l’éducation et la philosophie de
  terrain. Enfin, pour dépasser cet état des lieux, nous mobilisons la
  philosophie de Bruno Latour et de ses alliés sur les enjeux soulevés par
  ces distinctions, pour dessiner des pistes de réponses à ces problèmes.
controlledKeywords:
  - idRameau: ''
    label: Philosophie
    uriRameau: http://data.culture.fr/thesaurus/resource/ark:/67717/T990-1529
  - idRameau: ''
    label: philosophie
    uriRameau: http://www.eionet.europa.eu/gemet/concept/6187
id: SP1788
keywords:
  - philosophie de terrain
  - philosophie de l’éducation
  - John Dewey
  - Bruno Latour
  - terrestre
lang: fr
production:
  entities: []
senspublic:
  categories: []
subtitle: Aller du terrain aux terrestres&nbsp;; une esquisse
title: Repenser la philosophie de l’éducation par la pratique
type: article
url: /articles/1788
---

@thom4parisot
Copy link
Member

Idem ça fonctionne quand j'appelle directement pandoc-api :

curl -X POST http://127.0.0.1:3090/latest/convert/html/ -F markdown_file=@content.md -F bibtex_file=@meta.bib -F yaml_file=@meta.yaml -F csl_file=@chicagomodified.csl

@RochDLY
Copy link
Collaborator Author

RochDLY commented Feb 19, 2025

Sur Stylo (en prod), la preview a sauté pour deux articles au moment de l'ajout d'un titre et d'un sous-titre dans les métadonnées, voir les id 67b5f14e96f4a000271732d0 et 5c194920549ec20011383888. (Avec le même code 400 dans la console)

@thom4parisot
Copy link
Member

Okay on a trouvé un truc : le passage des métadonnées de Stylo au navigateur puis du navigateur à stylo-export créait une erreur côté pandoc-api.

Les mêmes données envoyées à stylo-export avec le logiciel httpie… fonctionnaient :

http --multipart http://127.0.0.1:3080/api/article_preview md_content=@content.md bib_content=@meta.bib yaml_content=@meta.yaml bibliography_style=chicagomodified with_toc=true with_nocite=true with_link_citations=true

Idem avec l'export HTML d'ailleurs (ça fonctionne).

On a réussi à faire fonctionner la preview en étant plus strict sur le formattage des données.

On a aussi vu les changements à apporter côté stylo-export et pandoc-api pour remonter les erreurs qui auraient aidé à faire remonter les informations utiles à déboguer cette situation (on y a passé 3 heures en visio aujourd'hui).

@thom4parisot
Copy link
Member

Sur Stylo (en prod), la preview a sauté pour deux articles au moment de l'ajout d'un titre et d'un sous-titre dans les métadonnées, voir les id 67b5f14e96f4a000271732d0 et 5c194920549ec20011383888. (Avec le même code 400 dans la console)

Ces deux articles s'affichent correctement désormais 😄

@RochDLY
Copy link
Collaborator Author

RochDLY commented Feb 20, 2025

Super, vraiment merci @thom4parisot @davidbgk d'avoir résolu ce problème ! 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐞 bug [domain] export 📜 Module d'export multi-formats par défaut (depuis Stylo v2)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants