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 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.
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
1 |
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
1 |
bare |
du dépôt local. Dans mon cas :
1 |
$ git clone –bare calendrier calendrier.git |
3. Faites un
1 |
push |
à partir du dépôt nouvellement cloné, avec l'option
1 |
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
commitcomme 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.
Laisser un commentaire