AEDIROUM / politiques

La charte et positions de l'association
3 stars 3 forks source link

Changer le processus de génération des documents #25

Open matteodelabre opened 1 month ago

matteodelabre commented 1 month ago

De nos politiques, nous voulons une version PDF (pour pouvoir les remettre à l’université ou d’autres instances officielles) et une version HTML (pour faciliter leur consultation sur notre site web). En ce moment, les règlements sont écrits en TeX, et de cette source sont générées les deux versions.

Le moteur TeX est lourd à installer et lent à exécuter. Au total, à chaque fois que le site est mis à jour, le processus de compilation des politiques prend environ 10 à 15 minutes. Pourrait-on trouver une façon plus efficace pour remplacer ce processus?

Typst est une alternative prometteuse pour générer des PDF rapidement, mais ne possède pas encore de sortie HTML. À la place, on pourrait écrire les règlements en Markdown et utiliser Pandoc pour générer automatiquement le HTML d’une part, et le code Typst d’autre part. Ou un autre format que Markdown supporté par Pandoc qui soit un peu plus expressif, au besoin.

Overengined commented 6 days ago

Est-ce que l'Action dans son état actuel utilise les fonctionnalités de mise en cache utilisable dans ce contexte ? En mettant le moteur Tex en cache (si c'est possible), on pourrait gagner du temps.

leo-ard commented 6 days ago

Je viens de faire le test sur mon ordinateur et la compilation des fichiers pdf/html a pris environ 9 secondes (3 pour les pdfs et 6 pour les fichiers html) :

> make pdf 
...
make pdf  3.53s user 0.47s system 75% cpu 5.318 total
> make html
...
make html  6.89s user 0.73s system 82% cpu 9.284 total

C'est vrai qu'en regardant le CI, on voit que l'installation de TeX prend ~10 minutes, mais ça pourrait être réglé avec du caching comme @Overengined a mentionné. Si on veut améliorer le temps de compilation des fichiers vers pdf/Markdown, aller vers pandoc/typst va probablement pas nous sauver du temps (il faut prendre en compte l'installation de ces outils aussi; je ne sais pas si typst ou pandoc s'installe rapidement sur un ordinateur). Personnellement, je trouve que 10 minutes c'est raisonnable pour un CI qui est exécuté seulement quelques fois par années seulement (à moins que je me trompe ?).

Ceci étant dit, je peux voir l'attrait d'avoir la charte écrite en Markdown pour rendre les modifications plus accessibles. GitHub a même un éditeur de Markdown inclus dans l'interface web, ça pourrait permettre à n'importe qui de proposé des changements sans nécessairement connaitre TeX ou Typst. En plus, les fichiers TeX sont surtout des définitions de titre/sous-titre et quelques listes, donc ça serait pas très difficile de les convertir en Markdown.

Overengined commented 6 days ago

Je viens de faire le test sur mon ordinateur et la compilation des fichiers pdf/html a pris environ 9 secondes (3 pour les pdfs et 6 pour les fichiers html) :

> make pdf 
...
make pdf  3.53s user 0.47s system 75% cpu 5.318 total
> make html
...
make html  6.89s user 0.73s system 82% cpu 9.284 total

C'est vrai qu'en regardant le CI, on voit que l'installation de TeX prend ~10 minutes, mais ça pourrait être réglé avec du caching comme @Overengined a mentionné. Si on veut améliorer le temps de compilation des fichiers vers pdf/Markdown, aller vers pandoc/typst va probablement pas nous sauver du temps (il faut prendre en compte l'installation de ces outils aussi; je ne sais pas si typst ou pandoc s'installe rapidement sur un ordinateur). Personnellement, je trouve que 10 minutes c'est raisonnable pour un CI qui est exécuté seulement quelques fois par années seulement (à moins que je me trompe ?).

Ceci étant dit, je peux voir l'attrait d'avoir la charte écrite en Markdown pour rendre les modifications plus accessibles. GitHub a même un éditeur de Markdown inclus dans l'interface web, ça pourrait permettre à n'importe qui de proposé des changements sans nécessairement connaitre TeX ou Typst. En plus, les fichiers TeX sont surtout des définitions de titre/sous-titre et quelques listes, donc ça serait pas très difficile de les convertir en Markdown.

Il ne faut pas oublier que markdown nous retirerai pas mal de fonctionnalités sympa, style mettre des images, les références et les numérotations formelles.

matteodelabre commented 6 days ago

Merci à vous deux pour les tests! Oui, je n’ai jamais réussi à faire fonctionner la cache des GitHub Actions comme du monde, alors si vous y parvenez ce serait good aussi!

Overengined commented 6 days ago

Pas de souci, on comprends que les Actions c'est rarement une partie de plaisir. J'ai cherché, et je crois qu'on pourrait s'inspirer de/réutiliser ceci.