Aujourd'hui, on vous présente une méthode pour créer vos documents collaboratifs en ligne, en utilisant LaTeX, ainsi que quelques astuces qui pourront peut-être vous simplifier la vie !
Un petit peu de contexte
Imaginons : vous êtes un jeune chercheur dynamique, et vous voulez rédiger un papier avec vos collaborateurs. Ou bien vous êtes un étudiant, et vous devez rendre un rapport quelconque à partir d'un travail fait en groupe.
Vous pourriez ainsi travailler de manière solitaire, et vouloir créer vos documents directement dans le cloud, pour pouvoir les ouvrir de n'importe quelle station de travail. De multiples solutions à ces situations existent : Google Docs, FramaPad, la conjonction d'un logiciel de traitement de texte et d'un service de stockage dans le cloud… Mais le résultat peut ne pas vous satisfaire. On pourra citer par exemple la difficulté de rédiger des formules mathématiques, ou encore les problèmes de versions de logiciel et de compatibilité si ceux-ci ne sont pas intégrés au cloud. Ce qu'il vous faudrait, c'est un éditeur de texte supportant le langage LaTeX, et qui serait collaboratif ! Ça tombe bien, on va vous en présenter.
La minute LaTeX
LaTeX, c'est un langage et système de composition permettant de réaliser des documents professionnels. Si vous ne connaissez pas encore cet outil, je vous conseille d'aller faire un tour du côté d'un autre de nos articles qui vous apprendra à créer votre premier document en LaTeX.
Maintenant que vous êtes un peu à l'aise avec LaTeX et que vous connaissez par cœur tous les articles du blog avec ce mot-clef, ajoutons la dimension collaborative !
Les différents supports
Dans ce marché florissant de l'édition de documents LaTeX en ligne, deux services se démarquent un peu.
ShareLaTeX
ShareLaTeX est un service au modèle Freemium : il a une version gratuite et une version payante comportant plus de fonctionnalités.
Dans sa version gratuite, il n'est pas possible de collaborer avec d'autres personnes, ce qui limite un peu notre intérêt. Ses deux versions payantes ("Collaborator" et "Professional" à 14 € et 28 € par mois) permettent d'incorporer plus de collaborateurs, de synchroniser directement avec Dropbox et Github. Cependant, il est à noter que la participation à certaines conférences peut donner un accès libre et gratuit à vie (comme Data Integration in Life Science par exemple), et qu'il existe des réductions pour les académiques et pour les laboratoires (il se peut que ce dernier ait même déjà une licence sans que vous le sachiez, n'hésitez pas à demander).
Overleaf

Overleaf, un autre outil en ligne d'édition de documents LaTeX collaboratif. | Overleaf Copyright © 2017
Overleaf est une autre solution du même type. La version gratuite donne accès à 1Go de stockage, un système de versionnage, plein de thèmes disponibles, de l'auto-complétion, et accès à un dépôt Git généré automatiquement. De plus, et c'est ce qui nous intéresse, le partage peut se faire avec autant de personnes que vous le souhaitez.
Pour la suite de l'article, on va donc préférer ce service à ShareLaTeX.
Début classique avec Overleaf
Après les nécessaires étapes d'inscription et de connexion, nous allons commencer par créer un nouveau document (notez que vous pouvez aussi importer une archive zip), en cliquant sur "New Project". S'offrent alors à nous une myriade de thèmes, prêts à l'emploi, vous n'avez qu'à sélectionner celui qui vous convient et le document sera pré-rempli par le code générant le thème choisi.

Capture d'écran d'Overleaf, en pleine action, avec un calendrier en langue turque imprimable pour faire un dodécaèdre (on peut tout faire avec LaTeX !). Pour passer de la source (code LaTeX) à un éditeur WYSIWYG, cliquez sur Rich Text en haut à gauche. Pour partager, cliquez sur Share, en haut.
Vous pouvez ensuite commencer à rédiger votre document dans la partie gauche de la page nouvellement affichée. Pour les gens moins à l'aise avec LaTeX (vous-même ou l'un de vos collaborateurs) il est également possible d'utiliser un éditeur WYSIWYG, en cliquant sur le bouton "Rich Text".
Enfin, pour partager le document, cliquez sur "Share", ou bien simplement copiez-collez le lien de votre navigateur, et envoyez-le à vos collaborateurs.
Et pour ceux qui aiment un peu plus de défi
Mais pour les plus développeurs dans l'âme qui se voient confrontés à ce problème (à savoir : fichiers LaTeX à modifier, travail collaboratif, accessibilité sur plusieurs ordinateurs), une autre solution viendra à l'esprit : Git !
En effet, Git permet de gérer et éditer facilement des fichiers à plusieurs, de synchroniser le contenu d'un dépôt entre plusieurs ordinateurs, etc. Si vous n'êtes pas encore familier avec cet outil, n'hésitez pas consulter cet article d'introduction à Git sur notre blog.
LaTeX et Git : premiers pas
Pour commencer, créez votre document LaTeX, dans un dossier créé au préalable.
1 2 |
$ mkdir calendrier && cd calendrier $ touch calendrier.tex |
Ensuite, pour initialiser un dépôt Git dans ce répertoire, il suffit de taper :
1 |
$ git init |
Et voilà, il ne reste plus qu'à partager ce dépôt, à grands coups de git clone !
LaTeX, Git et Github
Pour faciliter le partage du dépôt, il est possible d'utiliser GitHub, le fameux service de stockage de dépôts Git. Pour cela, quatre étapes simples tirées de l'aide de GitHub :
1. Créez un nouveau dépôt sur GitHub.
2. Dans votre ligne de commande, créez un clone bare du dépôt local. Dans mon cas :
1 |
$ git clone --bare calendrier calendrier.git |
3. Faites un push à partir du dépôt nouvellement cloné, avec l'option mirror (qui fait en sorte que toutes les références comme les branches, les tags, etc, sont incluses dans l'opération). Indiquez l'adresse du dépôt git sur Github.
1 2 |
$ cd calendrier.git $ git push --mirror https://github.com/utilisateur/calendrier_sur_github.git |
4. Supprimez ce dont vous n'avez plus besoin, et clonez à nouveau à partir de GitHub.
1 2 3 |
$ cd .. $ rm -rf calendrier.git $ git clone https://github.com/utilisateur/calendrier_sur_github.git |
Maintenant que votre dépôt est sur GitHub, vous pouvez facilement le partager et travailler en collaboration, aussi bien en ligne qu'hors ligne. Vous pouvez aussi utiliser tous les outils de GitHub et les adapter à l'écriture de documents. Voici quelques exemples (tirés de ce billet) :
- Utilisez les messages de commit comme d'un journal, pour vous rappeler votre raisonnement (et éviter les questions du type : "Mais pourquoi est-ce que j'ai fait ça ?")
- Utilisez le wiki pour structurer vos idées dans un premier temps
- Utilisez le système d'issues pour gérer les questions qui peuvent arriver en cours de route, votre todo-list, vos idées... Les étiquettes se doivent d'être explicites (ex : "question", "idée"...)
LaTeX, Git, Github et Overleaf
Vous croyiez avoir atteint le summum de l'élégance ? Attendez, il reste encore une étape ! Il est en effet possible de synchroniser votre travail sur Overleaf et sur GitHub !
"Pourquoi faire ?" me direz-vous, eh bien pour plusieurs raisons. Quelques exemples : vous aimez GitHub et ses différents outils, mais un collaborateur ne sait utiliser que le texte enrichi, en WYSIWYG. Ou bien vous voulez garder une trace de vos documents dans votre compte GitHub, qui gère tout de même bien mieux les versions.
La marche à suivre est assez simple, puisque chaque document sur Overleaf est associé à un dépôt Git. Il suffit donc d'avoir un dépôt local avec deux origines. Voici la marche à suivre, fortement inspirée de cet article
1. Clonez votre document Overleaf localement. Si votre document sur celui-ci a pour adresse https://www.overleaf.com/2029559gkypz, alors le dépôt Git associé est https://git.overleaf.com/2029559gkypz.
1 |
$ git clone https://git.overleaf.com/2029559gkypz article |
2. L'origine de ce dépôt est donc le dépôt distant sur Overleaf. Renommons cette origine pour plus de clarté.
1 |
$ git remote rename origin overleaf |
Dorénavant, pour importer les changements effectués sur Overleaf, il vous suffira de lancer :
1 |
$ git pull overleaf master |
3. Créez un dépôt sur GitHub, et ajoutez GitHub comme répertoire distant.
1 |
$ git remote add github https://github.com/utilisateur/document.git |
4. Faites un push vers GitHub pour synchroniser.
1 |
$ git push github |
Tous vos dépôts (en local, sur Overleaf et sur GitHub) sont maintenant à jour !
Conclusion
Nous avons donc vu deux façons de rédiger des documents LaTeX de manière collaborative. La première est basée sur un service en ligne, Overleaf, qui permet de le faire très facilement, même dans sa version gratuite. Le second est un peu plus technique et fait appel à Git en plus, et dans notre cas GitHub (qui peut être substitué par tout autre stockage de dépôts Git).
Vous n'avez donc plus d'excuse pour rédiger des rapports bien propres !
Merci aux relecteurs Bunny, Akira, et Kumquatum pour leur participation.
Matthieu Herrb
juin 29, 2017 à 9:14
Et l'auto-hébergement d'Overleaf, c'est possible ?
eorn
juin 29, 2017 à 9:51
Overleaf c'est une solution privée, on ne peut pas l'auto-héberger.
Par contre, en faisant un tour sur alternativeto.net (https://alternativeto.net/software/writelatex/?platform=online) , j'ai trouvé une solution d'auto-hébergement, qui reste à tester : \BlueLaTeX (https://www.bluelatex.org/)
Il y a aussi une solution web opensource, que je n'ai pas testée : https://www.fiduswriter.org
Eric Quinton
juin 29, 2017 à 10:18
Bonjour,
J'ai cherché les conditions de propriété d'Overleaf (qui détient les fichiers latex déposés, règles de confidentialité et de chiffrement le cas échéant, sécurité apportée - vol, perte...), mais n'ai rien trouvé. Je ne sais pas non plus où sont stockés les fichiers, quelle est la juridiction applicable, etc. Il semble que la société soit américaine, et cela peut poser un problème juridique de déposer des fichiers hors Europe.
Avez-vous pu expertiser cet aspect ?
Cordialement,
Éric Quinton
lucas
juin 29, 2017 à 12:04
Les terms of service sont [ici](https://www.overleaf.com/legal).
Ils semblent indiquer :
- l'ownership des informations et documents n'est pas transféré à overleaf
- niveau «privacy», les informations ne sont pas protégées réellement. Seul le système de token unique «almost impossible to guess» protège la vie privée. Donc, en clair, il n'y a pas réellement de privacy.
- si overleaf venait à être arrêté, une période minimale de 3 mois serait mise en place pour la récupération des documents
- cela étant dit, overleaf n'offre aucune garantie sur l'intégrité et la conservation des données, ni sur le bon fonctionnement et la sécurité du service
- l'utilisateur est responsable de la sécurité de son compte, des données qui s'y trouvent.
Bref, ça se résume en une expression : «Overleaf is Available “AS-IS”».
Je n'ai rien trouvé dans ce document à propos de leur situation, mais en géolocalisant l'adresse IP du domaine (104.197.26.34), je tombe sur mountain view en californie.
eorn
juin 29, 2017 à 1:19
Merci Lucas pour la réponse, je n'aurais pas dit mieux.
Eric Quinton
juin 29, 2017 à 2:06
Merci pour le lien. J'ai parcouru (pas lu dans le détail) le document. Il en ressort :
- overleaf est une société britannique, régie par la loi anglaise et du Pays de Galles
- les données sont hébergées chez Amazon (plate-forme S3), elles transitent en ssl, et sont sauvegardées
- les données continuent d'appartenir à leurs auteurs.
En bref, les conditions du service me semblent particulièrement intéressantes et équilibrées. Dommage que les anglais aient décidé de quitter l'UE...
Je vais en faire un peu de pub dans mon labo, cela pourrait intéresser quelques chercheurs.
lucas
juin 29, 2017 à 11:52
[Remarque non pertinente]
Dans la partie «Début classique avec Overleaf», on commence avec «un calendrier en langue turque imprimable pour faire un dodécaèdre».
C'est drôle 🙂
Alice
juin 29, 2017 à 4:57
"ShareLaTeX est un service au modèle Freemium : il a une version gratuite et une version payante comportant plus de fonctionnalités.
Dans sa version gratuite, il n'est pas possible de collaborer avec d'autres personnes, ce qui limite un peu notre intérêt. "
Faux, on peut partager (avec un compte gratuit) avec une personne en mode édition et rendre le document public pour que toute personne qui connait le lien puisse lire le document.
ça reste très limité.