Installation sous Linux
Pour installer une version locale de ZdS sur GNU/Linux, veuillez suivre les instructions suivantes.
Note
Si une commande ne passe pas, essayez de savoir pourquoi avant de continuer.
Il est impératif que la locale
fr_FR.UTF-8
soit installée sur votre distribution.Si vous voulez savoir ce qui se cache derrière une commande
make
, ajoutez--just-print
à la commande ou ouvrez le fichier nomméMakefile
présent à la racine du projet.L’installation automatique des packages a été testée sour Ubuntu, Debian, Fedora et Archlinux. Si vous utilisez une autre distribution, essayez d’installer la liste de packages située ici.
Si une erreur s’est glissée dans la doc, ou si la doc a glissé vers l’obscolescence, ouvrez un ticket sur notre repo github
Si malgré tout vous ne parvenez pas à installer ZdS, n’hésitez pas à ouvrir un sujet sur le forum
Pour installer ZdS, vous aurez besoin d’abord des programmes make
et sudo
. S’ils ne sont pas déjà installés sur votre système, ils sont généralement disponibles dans les gestionnaires de paquets sous le même nom.
Après avoir cloné le dépôt du code source, installer ZdS sous Linux est relativement simple. En effet, il suffit de lancer la commande suivante (qui se chargera d’installer ce qui est nécessaire, plus d’infos ci-dessous):
make install-linux
Notez que si vous voulez installer une version complète (avec une version locale de LaTeX et de Typesense, plus d’infos ci-dessous), utilisez plutôt
make install-linux-full
Une fois que c’est fait, vous pouvez directement lancer votre instance à l’aide des commandes suivantes:
source zdsenv/bin/activate # activer le virtualenv
make zmd-start # démarrer zmarkdown
make run-back # démarer le serveur django
Stoppez le serveur à l’aide de ctrl+c. Pour sortir de votre environnement, tapez deactivate
.
Vous pouvez également indiquer à Git de ne pas effectuer de commit s’il y a des erreurs de formatage dans le code.
Si vous utilisez un shell autre que bash, et que vous avez l’erreur suivante quand vous activez zdsenv
:
…/zds-site/zdsenv/bin/activate:67: command not found: nvm
Alors c’est très probablement dû au script d’installation de nvm qui ne gère que Bash. Pour corriger ce problème, ouvrez votre fichier .bashrc
et copiez les lignes concernant nvm dans le fichier de configuration de votre shell. Ces fichiers se trouvent dans votre répertoire utilisateur, par exemple :
~/.bashrc
~/.zshrc
Plus d’informations
La commande make install-linux[-full]
appelle en fait le script scripts/install_zds.sh
avec +base
(ou +full
).
Ce script est concu de manière modulaire pour installer des composants de ZdS (sous Linux) à l’aide de scripts/install_zds.sh +back +front [...]
, le +
indiquant qu’on souhaite installer un composant (ici front
et back
).
Les différents composants sont listé ci-dessous.
Composants base
Équivalent à +packages +virtualenv +node +back +front +zmd +data
(plus de détails ci-dessous).
Notez que si vous ne souhaitez pas un de ces compsants, vous pouvez utiliser la syntaxe scripts/install_zds.sh +base -machin -bidule
, le -
indquant qu’on ne souhaite pas installer un composant.
Composants full
Équivalent à +base +typesense-local +tex-local +latex-template
(plus de détails ci-dessous).
De même que pour base, vous pouvez agrémenter de -composant
pour ne pas installer un composant donné.
Composant packages
Installe les packages nécessaire à l’utilisation et au développement de Zeste de Savoir à l’aide du gestionnaire de paquet de votre distribution (détecte et fonctionne pour Ubuntu, Debian, Fedora et Archlinux).
La liste des packages vous est donnée ci-dessous (pour Debian), si vous utilisez une distribution différente, le nom des paquets à installer devrait être fort semblable, n’hésitez dès lors pas à employer la fonction « recherche » de votre gestionnaire de paquet préféré.
python3 et dérivés :
python3-dev python3-setuptools python3-pip python3-venv
;realpath :
realpath
(se trouve dans le packagecoreutils
sous Ubuntu 18.04) ;gcc et make (pour compilation et utilisation du
Makefile
):apt-get install build-essential
;Pour
lxml
:libxml2-dev
;libxlst-dev
(peut être appeléelibxlst1-dev
sur certains OS comme Ubuntu) ;libz-dev
(peut êtrelibz1g-dev
sur système 64bits) ;libffi :
apt-get install libffi-dev
;Dépendances de Pillow :
libjpeg62-turbo libjpeg62-turbo-dev libfreetype6 libfreetype6-dev
(peut être appeléelibjpeg8
etlibjpeg8-dev
) ;Dépendances de la template LaTeX:
xzdec
,librsvg2-bin
etimagemagick
.
Composant virtualenv
Installe le virtualenv qui est un environnement python cloisonné prévu pour ne pas interférer avec d’autres installation de python (plus d’infos ici). Ce que fait ce composant est tout simplement:
python3 -m venv $ZDS_VENV
Le nom du virtualenv est donc controlé par la variable d’environnement ZDS_VENV
(dont la valeur est par défaut zdsenv
).
Composant node
Installe nvm
et l’utilise pour installer node
, puis yarn
.
Ajoute ensuite un .nvmrc
dans le dossier et ajoute node use
au script d’activation du virtualenv (pour qu’il soit automatiquement utilisé au chargement).
La version de node installée est controlée par la variable d’environnement ZDS_NODE_VERSION
(dont la valeur est par défaut celle spécifiée dans .nvmrc
).
Si vous ne souhaitez pas utiliser ce composant, il vous faut tout de même installer les outils du front-end manuellement. Pour cela, rendez-vous sur la documentation dédiée au frontend.
Composant back
Installe les packages python nécessaire au bon fonctionnement et au développement de ZdS, puis installe les migrations. Strictement équivalent au commande suivantes:
make install-back # Dépendances Python
make migrate-db # Cf. "migrate" de Django
Composant front
Installe les dépendances du front-end en utilisant yarn
, puis build le front-end.
Strictement équivalent au commande suivantes:
rm -R node_modules
make install-front
make build-front
Si vous ne souhaitez pas utiliser ce composant, il vous faut tout de même installer les outils du front-end manuellement. Pour cela, rendez-vous sur la documentation dédiée au frontend.
Composant zmd
Installe le serveur zmarkdown, nécessaire au bon fonctionement du site. Strictement équivalent à la commande suivantes:
make zmd-install
Si vous ne souhaitez pas utiliser ce composant, il vous faut tout de même installer zmarkdown manuellement. Pour cela, rendez-vous sur la documentation dédiée à zmarkdown.
Composant data
Installe le jeu de données de test de ZdS, pour le développement. Strictement équivalent à la commande suivantes:
make generate-fixtures
Plus d’info sur cette fonctionalité sur la page dédiée.
Composant typesense-local
Installe une version locale de Typesense dans un dossier .local
situé dans le dossier de ZdS.
La version de Typesense installée est controlée par la variable d’environnement ZDS_TYPESENSE_VERSION
(voir scripts/define_variable.sh
pour la valeur par défaut).
Notez que vous pouvez choisir d’installer Typesense manuellement, comme décrit ici.
Composant tex-local
et latex-template
Ces composants s’assurent que votre instance locale peut utiliser LaTeX (en fait LuaLaTeX) pour générer des PDFs des contenus.
Le composant tex-local
installe une version locale (et allégée) de Tex Live dans un dossier .local
situé dans le dossier de ZdS.
Elle s’ocuppe également d’installer les polices d’écritures nécessaire au bon fonctionement de la template dans votre $HOME
.
Les commandes spécifiques à TeX sont ensuite ajoutées dans le virtualenv, de telle sorte à ce que ce soit cette version locale qui soit utilisée le cas échéant.
Indépendament, le composant composant latex-template
installe (ou met à jour) la template LaTeX (nécessaire à la génération des PDFs) dans le dossier TEXMFHOME/tex/latex
.
Ce composant peut donc être utilisé même si vous avez installé TeX Live par d’autres moyens.
Ces deux composants reposent sur des scripts situés dans le dépot du template LaTeX.
Le dépot installé est controlé par la variable d’environnement ZDS_LATEX_REPO
(dont la valeur est l’url actuelle du dépôt sur Github).
Note
Notez qu’une fois TeX Live installé, le composant tex-local
peut être réutilisé pour mettre à jour les packages spécifiques à la template LaTeX.
Si vous souhaitez réinstaller totalement TeX live, supprimez le dossier .local/texlive
.
Vous pouvez néanmoins choisir d’installer manuellement ces outils, tel que décrit ici.