Didacticiel :
Installer Overleaf pour des documents LaTeX collaboratifs sur votre serveur

Overleaf est le successeur de ShareLaTeX, il résulte de la fusion de l'ancienne version d'Overleaf avec ShareLaTeX.

Il permet d'éditer des documents LaTeX en collaboratif [1].

L'interface se divise en trois parties. Un bandeau pour naviguer dans les fichiers du projet, un éditeur de texte avec coloration syntaxique, et suggestion de commandes LaTeX au fur et à mesure de la saisie, et enfin, un visionneur de pdf pour voir le rendu du code source.

Comment installer Overleaf sur son serveur ?

Overleaf se présente comme un conteneur docker. Je prendrais l'exemple d'une installation sur Debian et distributions GNU/Linux dérivées avec Nginx et Systemd.

Vous pouvez retrouver la documentation de l'installation sur le dépôt GitHub du projet [2].

Comment installer le conteneur ?

Pour utiliser Overleaf, il faut installer quelques dépendances.

Il vous faut dorénavant modifier la config dans config/variables.env et config/overleaf.rc, pour s'adapter à votre situation et personnaliser l'instance.

Parmis les paramètres important à configurer se trouvent notamment le port d'écoute d'Overleaf.
Si il y a déjà un serveur http sur votre machine, il faudra le changer, car le port 80 est déjà occupé.

Comment configurer le daemon systemd ?

Si la commande précédente lance overleaf correctement, il est temps de créer un service daemon systemd dans /etc/systemd/system/overleaf.service.

Vous pouvez désormais lancer le service avec les commandes systemctl habituelles...

Il faut dorénavant installer les paquets LaTeX, avec TeX Live.

Bon, maintenant, vous pouvez aller vous chercher un café...

... Parce qu'il y a plus de 4000 paquets à installer, et ça va prendre du temps.

Je vous conseille donc d'ouvrir un autre terminal ssh, pour qu'on avance pendant ce temps.

Comment accéder à Overleaf depuis son nom de domaine ?

En principe, vous pouvez déjà accéder à votre install' depuis http://<ADRESSE_IP_DE_VOTRE_SERVEUR>:8877, si tant est que vous ayez ouvert le port; mais vous conviendrez que ce n'est pas des plus pratiques...

Je vous conseille donc d'ajouter une entrée dans votre DNS qui pointe vers l'IP publique de votre serveur, à partir d'un sous-domaine, par exemple.

Pour que ce nom de domaine redirige vers le port d'écoute d'Overleaf, nous allons utiliser un proxy Nginx (cela fonctionne de façon similaire avec Apache2 / httpd).

Comment configurer Nginx en proxy ?

La configuration du serveur Nginx reprends le même fonctionnement que celle utilisée lors de l'install' de JupyterHub.

Elle se passe dans /etc/nginx/sites-available/overleaf.conf [3].

Dans cet exemple, on a considéré que votre nom de domaine était sharelatextest.com, n'oubliez pas de modifier ce paramètre, ainsi que le port dans http://localhost:8877, si vous n'avez pas choisi le même que moi.

Dès lors, il faut faire un lien symbolique dans /etc/nginx/sites-enabled/ pour que la configuration précédente soit prise en compte:

Enfin, il est nécessaire de relancer nginx, avec les commandes systemd habituelles:

Et voilà !

Rendez-vous dès maintenant sur https://sharelatextest.com/launchpad pour configurer les identifiants administrateur de votre instance, connectez-vous, et vous pouvez commencer à rédiger vos documents, et inviter vos collaborateurs à travailler avec vous ;-)...

Malheureusement les nouvelles versions d'Overleaf Community Edition n'intègrent plus le module d'inscription, ça se passe par invitation via l'interface admin. Il doit y avoir un moyen de se bricoler un formulaire, avec la ligne de commande en backend....

Bonus:

Comment installer Pygmentize pour inclure des morceaux de codes stylés ?

Dans l'instance officielle d'Overleaf [1], il est possible d'utiliser le package minted pour obtenir une coloration syntaxique du code source inclus plutôt sympathique:

Il est possible, pour nous aussi, d'installer le paquets python pygmentize, pour obtenir le même résultat.

Et ajouter la ligne suivante dans /usr/local/texlive/2022/texmf.cnf (dans le conteneur).

Plus qu'à relancer le service overleaf, et à vous les coloration syntaxique dans vos pdf LaTeX !

Et voilà, c'est tout pour moi ;-).
Merci beaucoup au relecteurs (ZaZo0o, Pierre Marijon, David Picard, et Yoann) pour leur conseils et suggestions !

Références

  • À propos de
  • Geekus biologicus juvénile en master Genomics, Informatics and Mathematics for Health and Environment (GENIOMHE) à l'Université d'Évry val d'Essonne -- Université Paris-Saclay.

Catégorie: Didacticiel

Laisser un commentaire