Création paquet pour Yunohost

Pourrais-tu détailler ton idée?
J’ai essayĂ© sur une autre machine et j’ai le mĂȘme rendu donc le problĂšme ne venait pas de arm/raspi4.

Tant que ce soucis n’est pas rĂ©solu, impossible d’imaginer publier le paquet yunohost. Mais c’est aujourd’hui le seul frein Ă  ma connaissance donc si on arrive Ă  rĂ©soudre ça, le paquet ynh pourra ĂȘtre publiĂ©.

Bonjour @Thatoo,

Je viens de re-regarder ta capture d’écran du PDF et une partie de l’image m’intrigue :

image

Ce sont les boutons de prĂ©visualisation d’impression qui sont bien prĂ©sents dans toutes les impressions PDF, mais qui sont censĂ©s ĂȘtre masquĂ©s par la rĂšgle CSS suivante :

@media print {
  .print-hide {
    display: none !important;
  }
}

Cette rÚgle se trouve dans le fichier print.bundle.scss qui est compilé dans un fichier :

dokos-bench/apps/frappe/frappe/public/dist/css/print.bundle.########.css

Donc ça veut dire que le serveur/reverse proxy n’arrive pas à servir le fichier, ou alors que la rùgle ne s’applique pas. Or, bench build produit des liens symboliques, en l’occurence le lien suivant :

dokos-bench/sites/assets/frappe/dist/css/print.bundle.########.css

S’agissant d’un lien symbolique, il faut s’assurer que l’utilisateur exĂ©cutant le reverse proxy (e.g. www-data) ait bien accĂšs en eXploration Ă  tous les dossiers situĂ©s sur le chemin complet vers le lien symbolique (incluant tous les dossiers parents, par exemple le home de l’utilisateur).

Si tu veux vĂ©rifier l’impression sans faire de PDF, tu peux consulter la page printview dans ton navigateur. Dans l’inspecteur RĂ©seau, tu pourras voir tout de suite si certains fichiers ne sont pas chargeables par le navigateur car le reverse proxy ne peut pas y accĂ©der. Si la page s’affiche correctement, alors il y a forcĂ©ment un problĂšme avec wkhtmltopdf mais ça me semble Ă©trange qu’une rĂšgle simple comme celle susmentionnĂ©e ne fonctionne pas.

https://demo.dokos.cloud/printview?doctype=Quotation&name=SAL-QTN-2024-00001

VoilĂ  un exemple du rendu attendu :

1 « J'aime »

Voici ce que j’ai en allant sur « https://dokos.local/printview?doctype=Quotation&name=SAL-QTN-2024-00001 Â» :

le css est bien prĂ©sent, ça s’affiche quand mĂȘme un peu bizarrement, et si je clique sur « Obtenir un PDF Â» :

le css n’est pas prĂ©sent et ça s’affiche mal.

Quand aux droits sur les fichiers/dossiers, voici ce que j’ai :

image

donc je pense que c’est ok.

ah, j’ai peut-ĂȘtre trouvĂ© quelque chose d’intĂ©ressant dans dokos-bench-folder//sites/dokos.local/log/wkhtmltopdf.log :

Qu’est-ce que ce port 8000 vient faire là au milieu?

Aaaaaah c’est le host_name du site_config.json qui est peut-ĂȘtre mal configurĂ© !!

Ă©videment le lien avec le port 8000 ne donne rien mais si j’enlĂšve le port 8000, je trouve bien le contenu du fichier print.bundle.xxxx.css

J’ai ça :

Oui il faut définir la clé host_name du fichier site_config.json à une valeur telle que https://monsite.example.com en production, sinon https://localhost:<port> en local/dev.

Pour que le site soit en mesure de bien fonctionner, il faut effectivement lui indiquer son URL. Typiquement, en production, le nom du site est suffisant parce qu’il y a un enregistrement DNS adĂ©quat.

Mais en dĂ©veloppement, le site va essayer d’accĂ©der Ă  dokos.local en vain tant que rien n’est ajoutĂ© au fichier /etc/hosts, ou alors qu’un host_name est dĂ©fini.

J’en parlais un peu ici :

J’ai changĂ© pour :

Quand j’ai voulu « Obtenir un PDF Â», ça a plantĂ© donc je relance la VM.

erreur 504 :

mais par contre les logs de wkhtmltopdf n’ont plus d’erreur


puisque tu me rappelles ce prĂ©cĂ©dent message, je peux t’affirmer que Dokos fonctionne bien sous arm64, il tourne sur un raspi 4. Par contre, j’avais Ă©videmment le mĂȘme problĂšme de PDF, Ă  un moment je me suis demandĂ© si le pbm ne venait pas justement de lĂ  mais depuis, j’ai la mĂȘme chose en VM ou sur un ordi avec CPU amd64.

Okay superbe, je vais d’ailleurs bientĂŽt sortir des images Docker ARM, j’ai aussi fait quelques expĂ©rimentations qui me semblent concluantes.

Il y a le PORT en trop dans https://dokos.local:8000 je crois bien

je n’ai pas mis de port dans site_config.json :
"host_name": "https://dokos.local",

d’ailleurs, il n’y a plus d’erreur dans le log de wkhtmltopdf :

image

mais en revanche, dokos se met en carafe pendant 10 minutes et m’affiche une erreur 504 puis ça revient.

En regardant le log de nginx, c’est upstream qui ne rĂ©pond pas :

C’est drîlement sensible car si je mets
"host_name": "https://dokos.local/",
avec le / à la fin, j’ai de nouveau une erreur dans les logs de wkhtmltopdf :

Je renlĂšve le /

erreur 504 avec dans les logs de nginx

mais sans erreur dans les logs de wkhtmltopdf.

Bon je crois que je tourne en rond, je vais me coucher.

Et bien nous n’étions pas si loin de, je crois, la solution :
"host_name": "https://dokos.local:443",

ça correspond à ce à quoi ça devrait ressembler?

3 « J'aime »