DocHub-ULB / DocHub

A student platform for ULB focused on real student collaboration
https://dochub.be
GNU Affero General Public License v3.0
46 stars 14 forks source link

Uploading LaTex directly #84

Closed Mixone-FinallyHere closed 8 years ago

Mixone-FinallyHere commented 8 years ago

Ce serait interessant de pouvoir uploader des fichiers LaTex et laisser dochub les compiler je crois. Du coup si quelqu'un aurait une modification a faire sur les parties de correction de exercices ou examens on pourrait peutetre directment modifier le latex source dans la page et le pdf se voir update automatiquement.

C4ptainCrunch commented 8 years ago

Pourquoi pas, mais 1) implémenter un editeur latex sur dochub est un gros boulot 2) complier du LaTeX n'est pas safe, il faut donc arriver à isoler la compilation du reste du code 3) Les fichiers LaTeX ont souvent besoin d'autres fichiers commes des images, il faudrait donc développer un gestionnaire de fichiers

Si t'es chaud, tu peux faire une pull request ;) (Et sinon, on avait un bout de PoC pour compiler depuis git dans la branche gitpdf)

Mixone-FinallyHere commented 8 years ago

J'ai mon dernier examen mardi, après je me mets a voir. Peut être on pourrait le compiler sur sharelatex et faire un lien, je verrais ^^ Je voulais savoir surtout si c'est faisable et selon ce que tu dis oui c'est possible :D

-----Original Message----- From: "Nikita Marchant" notifications@github.com Sent: ‎17-‎01-‎16 16:18 To: "UrLab/beta402" beta402@noreply.github.com Cc: "Miguel" miguel.terol.93@gmail.com Subject: Re: [beta402] Uploading LaTex directly (#84)

Pourquoi pas, mais 1) implémenter un editeur latex sur dochub est un gros boulot 2) complier du LaTeX n'est pas safe, il faut donc arriver à isoler la compilation du reste du code 3) Les fichiers LaTeX ont souvent besoin d'autres fichiers commes des images, il faudrait donc développer un gestionnaire de fichiers Si t'es chaud, tu peux faire une pull request ;) (Et sinon, on avait un bout de PoC pour compiler depuis git dans la branche gitpdf) — Reply to this email directly or view it on GitHub.

C4ptainCrunch commented 8 years ago

T'es informaticien, tout est possible, c'est juste que parfois ça prend du temps ;)

Mixone-FinallyHere commented 8 years ago

Haha

-----Original Message----- From: "Nikita Marchant" notifications@github.com Sent: ‎17-‎01-‎16 16:47 To: "UrLab/beta402" beta402@noreply.github.com Cc: "Miguel" miguel.terol.93@gmail.com Subject: Re: [beta402] Uploading LaTex directly (#84)

T'es informaticien, tout est possible, c'est juste que parfois ça prend du temps ;) — Reply to this email directly or view it on GitHub.

Mixone-FinallyHere commented 8 years ago

Je sais ça que je dois faire mais je suis pas sure de ou je devrais mettre le morceau de code: ''' f = open('cover.tex','w') f.write(tex) f.close()

proc=subprocess.Popen(['pdflatex','cover.tex']) subprocess.Popen(['pdflatex',tex]) proc.communicate()

os.rename('cover.pdf',pdfname) ''' devrait etre lors de le update betement avec un if sous la extension du nom du doc. Ou devrait ceci aller donc?

titouanc commented 8 years ago

Avant d'intégrer juste ce morceau de code, il est important de comprendre comment fonctionne le processing d'un document.

  1. L'utilisateur envoie un document, ce document est placé dans une file et on renvoie l'utilisateur sur une page disant que le document est en cours de traitement.
  2. Si le document est déjà sur dochub, on le rejette (on compare les checksums des documents)
  3. Si ce n'est ni un pdf, ni une image, on le transforme en pdf (avec unoconv)
  4. On génère une image de chaque page en différentes tailles pour le viewer
  5. On marque le document comme terminé

Tout se trouve ici https://github.com/UrLab/beta402/blob/master/documents/tasks.py

Mixone-FinallyHere commented 8 years ago

Aha, alors la procédure, pas exactement le code que j'ai mis mais similaire, se ferait lors de l'étape 3 et pourrait alors communiquer des erreurs lors de compilation. Merci. Je vais de tout façon d'abord tester sur mon fork.

-----Original Message----- From: "iTitou" notifications@github.com Sent: ‎22-‎01-‎16 15:03 To: "UrLab/beta402" beta402@noreply.github.com Cc: "Miguel" miguel.terol.93@gmail.com Subject: Re: [beta402] Uploading LaTex directly (#84)

Avant d'intégrer juste ce morceau de code, il est important de comprendre comment fonctionne le processing d'un document. L'utilisateur envoie un document, ce document est placé dans une file et on renvoie l'utilisateur sur une page disant que le document est en cours de traitement. Si le document est déjà sur dochub, on le rejette (on compare les checksums des documents) Si ce n'est ni un pdf, ni une image, on le transforme en pdf (avec unoconv) On génère une image de chaque page en différentes tailles pour le viewer On marque le document comme terminé Tout se trouve ici https://github.com/UrLab/beta402/blob/master/documents/tasks.py — Reply to this email directly or view it on GitHub.