# ConTeXt/Installation
## Préalables

La suite ConTeXt est une distribution logicielle complète dérivée de LATEX, utilisée comme outil d'édition et de mise en page par ordinateur. Mise à jour régulièrement, elle est améliorée constamment. Elle peut être utilisée seule ou bien en parallèle avec des installations telles que MikTeX pour Microsoft Windows, ou TeXLive pour les autres OS, comme ceux issus du monde Linux et BSD et ainsi de suite. Cette suite n'inclut pas les paquets LATEX, ni les binaires, les add-on et autres paquets spécifiques. Elle est donc autonome vis-à-vis de LATEX.
Parfois, les versions bêta de ConTeXt (éditée tous les 8 à 10 jours) peuvent produire des bugs. La suite ConTeXt vous permet de tester les dernières versions de ConTeXt sans se soucier de savoir si la mise à jour va corrompre un projet en production. De multiples installations de la suite ConTeXt sont possibles côte à côte dans des répertoires différents. Cela permet, par exemple, de disposer en parallèle d'une version figée et d'une version bêta sur le même ordinateur. Vous pouvez choisir, par exemple, de travailler en production avec une version de ConTeXt directement dans le répertoire c:\context, tout en testant du code avec une version mise à jour régulièrement dans le répertoire c:\windows/utilisateurs/Dupont/context. Même chose sous Linux et Mac OSX.
ConTeXt est inclus aussi dans la distribution TeXLive. Si la suite ConTeXt Standalone est bien mise à jour en permanence, la version de ConTeXt contenue dans Modèle:TeXlive ne l'est qu'une fois par an. En particulier, LuaTeX et Metapost, qui font l'objet d'un développement très actif et leurs paquets binaires sont fréquemment mis à jour ; l'équipe de ConTeXt suit ces développements et même initie très souvent ces nouveautés. Comme les fichiers binaires inclus dans la distribution TeXLive sont seulement mis à jour annuellement, ConTeXt avec TeXlive sera nécessairement un peu daté par rapport à la suite ConTeXt. ConTeXt avec TeXlive peut être un peu mieux à jour en utilisant cette source. La suite ConTeXt est donc auto-suffisante et peut heureusement cohabiter avec une autre installation d'une distribution TeX.
Notez donc que l'installation peut se faire dans un répertoire différent pour chaque projet d'édition et de composition, ce qui permet d'affiner et de régler les commandes en fonction du projet envisagé. ConTeXt ne touche à rien indépendamment de son répertoire : on peut donc le désinstaller avec simplicité et facilité en supprimant son répertoire d'installation (et le réinstaller par la suite). Une précaution doit être prise : les fichiers d'édition au format *.tex, *.log, *.tuc et de sortie *.pdf doivent être situés dans un répertoire à l'intérieur du répertoire context. Si vous effacez le répertoire de la distribution, songez à sauvegarder avant vos fichiers de travail.

### Configuration requise

* 10 Mb d'espace libre sont requis.
* Pour la version MK II, il faut installer Ruby et Ghostscript (sous Microsoft Windows).
* À noter que l'on peut avoir besoin d'installer Perl et Python, y compris pour la version MKIV, mais uniquement pour les travaux les plus sophistiqués (et pour des raisons de mise en œuvre de processus et de méthodes professionnels). Il faut néanmoins garder à l'esprit que Perl est déjà intégré dans la version MK IV. Pour les utilisateurs de Linux, ces logiciels sont installés automatiquement avec la distribution présente sur leur machine Debian, Red Hat et dérivés, comme Ubuntu et Fedora et autres.

### Plateformes supportées

* Microsoft Windows (x32, x64)
* Linux (x32, x64)
* Linux Power PC
* Linux ARM
* Mac OS X (Intel x32, x64), Mac OS X Power PC
* FreeBSD
* Solaris (Intel, Sparc)
La liste des systèmes supportés par ConTeXt est disponible ici : http://minimals.contextgarden.net/setup
* Pour toute difficulté relative à l'installation sur telle ou telle plateforme, inscrivez-vous sur la liste de discussion et cherchez dans les archives de cette liste : votre problème y est certainement évoqué et vous y trouverez une solution.

### Installation de ConTeXt sur Microsoft Windows, Mac OS X et Linux
##### Généralités

* Même si l'installation de ConTeXt n'est pas d'une difficulté technique telle qu'elle puisse apparaître à beaucoup comme rebutante, il n'en reste pas moins vrai que des procédures précises sont à respecter : il faut avoir connaissance de la manière dont fonctionne le système de votre machine, qu'il s'agisse de Microsoft Windows, de Apple Mac OSX, ou d'une version quelconque de Linux. Il faut savoir créer un répertoire, se rendre dans ce répertoire, lister les fichiers présents et ainsi de suite. La connaissance et la mémorisation des commandes de base s’acquièrent facilement, aussi les débutants sont-ils encouragés à imprimer une page de ces commandes (accessibles facilement par Internet).
Une installation propre de ConTeXt est une installation fonctionnelle, sur laquelle il n'y a plus à revenir, sinon pour mettre à jour le logiciel. Au risque de nombreuses répétitions, on a choisi ici de détailler pour le débutant les procédures d'installation système par système (Microsoft Windows, Mac OS X, Linux), alors que ces procédures sont presque identiques. Il existe néanmoins quelques subtilités à connaître et on se rend compte assez vite que certaines légères différences dans les procédures d'installation peuvent s'avérer gênantes pour l'utilisateur débutant.
* Le dépôt d'où vous pouvez télécharger ConTeXt Standalone pour le système sur lequel vous souhaitez installer ConTeXt (Linux, Mac OS X, FreeBSD, Microsoft Windows, etc.) se trouve ici : http://standalone.contextgarden.net/setup/.
* Le minimum de connaissances techniques requises pour une installation avec Linux est une connaissance des commandes courantes au clavier dans une console/un terminal (CMD sous Windows, XTerm avec Ubuntu ou Fedora, etc.). Avant de vous lancer dans l'installation de ConTeXt, il est bon de se familiariser, comme nous l'avons déjà dit, avec les quelques commandes nécessaire et les principes de base de Linux (notamment le système de répertoire et la maîtrise des fichiers de configuration). Pour travailler avec ConTeXt sous Linux, les puristes coderont avec emacs, vim, voire gedit ou geany. Les autres utiliseront TEXWorks pour Linux, ou TEXShop pour Mac OS X (en attendant un portage satisfaisant de TEXWorks sur Mac OS X). Pour configurer TEXWorks convenablement, des explications sont données ci-dessous dans un paragraphe qui lui est consacré.
* Il faut remarquer, avant tout usage de ConTeXt (quel que soit le système que vous utilisez : Linux, Mac OS X ou Microsoft Windows), qu'il est nécessaire de bien répertorier les différentes polices présentes sur le système et de se familiariser avec leurs possibilités. La raison en est que toutes les polices ne permettent peut-être pas l'usage que vous leur destinez (attention au problème des ligatures, notamment pour le français, etc.). Pour le détail concernant l'usage des polices calligraphiques, se reporter au paragraphe 3.8.1 ci-dessous.
* L'installation de ConTeXt sous Linux peut se faire en créant le répertoire /opt/context, ou /usr/share/context ou /home/Utilisateur/context);
* Sur Mac OS X vous pouvez utiliser /Documents/context;
* Sous Microsoft Windows, vous pouvez installer ConTeXt dans c:\[...]MonRépertoireUtilisateur\Documents\context\ ou bien directement à la racine utilisateur (C:\Utilisateurs\Dupont\context.
* Notez que si vous utilisez la version la plus aboutie (la version dénommée MK IV), il est nécessaire d'avoir la permission en écriture pour le répertoire $TEXMFCACHE. Cela signifie effectivement qu'un seul utilisateur uniquement sera en mesure de produire des compilations, à moins que vous ne configuriez les droits adéquats pour le groupe d'utilisateurs choisis (dans le cadre d'un travail en réseau en particulier, ou de plusieurs utilisateurs sur une même machine).
* Rappel: il existe ainsi deux possibilités pour travailler avec ConTeXt :
1. Utiliser une version figée annuelle (TeXLive). Cette version est disponible sur Ubuntu, via l'application Synaptic (ou TeXLive), ou en appelant la commande en mode console sudo apt-get install context;.
2. Utiliser une version bêta (en cours de développement, mais néanmoins stable à l'usage), à télécharger selon les modalités décrites ci-dessous. Il est conseillé d'utiliser la version "ConTeXt Standalone" (version bêta), car les bogues ou les difficultés rencontrées peuvent être traités dans cette version qui est mise à jour tous les 10 jours. Il est conseillé de s'inscrire sur la liste de discussion afin de bénéficier de l'aide des utilisateurs plus expérimentés. Attention ! Il vous sera demandé de poster un exemple minimal reproductible (MWE = Minimal Working Example), afin de vérifier par des tests que votre code produit bien les erreurs que vous signalez.
* NOTE : De manière générale, vous pouvez installer plusieurs versions de ConTeXt sur la même machine, dans des répertoires différents et cela à des fins de test. Vous pouvez mettre à jour telle version de ConTeXt qui se trouve dans un répertoire donné et travailler un projet avec lequel vous ne rencontrez pas de difficultés de composition. Pour désinstaller ConTeXt, il suffit de supprimer les fichiers situés à l'intérieur du répertoire context. ConTeXt ne modifie aucun fichier de votre système.

#### Installation de ConTeXt sur Microsoft Windows

* Afin de télécharger le fichier binaire qui permet d'installer les composants de la suite ConTeXt, rendez-vous au paragraphe ConTeXt Standalone avec TeXWorks. L'installation décrite ci-dessous est fonctionnelle sous Windows 7 et Windows 10 à la date de février 2016. Il y a deux manières d'utiliser ConTeXt, comme nous l'avons déjà dit ci-dessus :
1. Avec une distribution LATEX comme MikTeX qui permet d'installer et de travailler avec des outils procurés par cette distribution.
2. On peut aussi choisir de n'installer que ConTeXT seul (Standalone, donc sans LATEX) et de travailler avec TEXWorks, qu'on installera donc à part (puisque TeXWorks n'est pas fourni par la suite ConTeXt). Le logiciel TeXWorks permet de coder les instructions et de produire une sortie au format PDF à la volée. L'avantage de TEXWorks est d'offrir à gauche de l'écran la fenêtre de saisie des instructions, tandis qu'à droite de l'écran apparaît le résultat du traitement des instructions au format PDF). Cependant, il faut savoir que l'usage de TeXWorks nécessite un réglage précis qu'il faut établir de manière rigoureuse, si l'on veut tirer parti rapidement de cet outil. Bien évidemment, d'autres éditeurs fonctionnant sous Microsoft Windows peuvent s'avérer intéressants (comme Geany, par exemple). La commande manuelle effectuée dans un terminal (par exemple sous Windows) comme ceci :
context c:\Users\Dupont\context\Mon_Répertoire_de_Travail\monfichier.tex
produira les mêmes effets que la compilation via TeXWorks.
3. Pour télécharger ConTeXt Standalone, il suffit d'aller sur la page de Téléchargement de ConTeXt pour obtenir le fichier au format désiré (32 ou 64 bits) et de le décompresser (à la racine de c:\, ou bien dans un répertoire comme :
c:\windows\users\MonNom\Documents\\),
puis de lancer le fichier :
first-setup.bat
qui créera les arborescences dans le dossier context après avoir téléchargé les fichiers nécessaire. En effet, la commande :
first-setup.bat
enclenche un processus de téléchargement et d'organisation de dossier qui dure environ 1 minute (selon votre connexion Internet). D'autres commandes sont à effectuer ensuite, afin de rendre effective votre installation.
À noter : On prendra garde, une fois ConTeXt installé et avant tout usage de ConTeXt sous Windows (c'est la même remarque pour Mac OS X ou pour Linux) de bien répertorier les différentes polices présentes sur le système (sont-elle dans c:\windows\Fonts ou bien ailleurs ?) et de se familiariser avec les possibilités d'impression offertes par ces polices. En effet, il se peut que telle police ne convienne pas à l'usage que vous désirez en faire. Pour le détail concernant l'usage des polices en général et des polices calligraphiques en particulier, veuillez vous reporter aux chapitres ci-dessous consacrés aux polices. En principe, il vaut mieux copier les polices que l'on choisit d'utiliser dans le répertoire :
context/tex/texmf-win64/fonts/data avec la structure requise, par exemple : fonts/data/ttf/didot.ttf, ou :data/fonts/otf/ebgaramond.otf et ainsi de suite.
Pour plus d'informations, consultez la page de mise en place des polices sur le Wiki.

##### Installation de ConTeXt Standalone sur Mac OS X

* Installation de ConTeXt Standalone sur Mac OS X (sans MacTeX) avec wget :
Quoique les commandes d'installation soient très similaires aux commandes Linux, il apparaît que Mac OS X oblige l'utilisateur à passer par des procédures d'identification et par l'App Store pour acquérir des outils comme Xconfig ou wget, ou oblige l'utilisateur à passer par des procédures complexes pour compiler et installer des outils comme wget et pkg-config nécessaire à l'installation de wget. Dans l'ordre, on vérifiera, si on choisit la procédure l'installation par téléchargement via wget la présence de gcc sur le système (par la commande, dans un terminal de gcc --version. Si gcc n'est pas présent, on l'installera grâce à la commande simple gcc ! Puis on téléchargera pkg-config et ensuite on pourra télécharger et installer wget. Il faudra compiler pkg-config par les commandes ./configure && make install, puis ./configure --with-internal-glib && make install en cas de présence d'une version ancienne de la librairie glib. Ensuite, après téléchargement de wget, on le compilera et l'installera de la même manière. Il faut veiller après le téléchargement de ces paquets, à les décompresser (par la commande tar -xzf wget-1.17.tar.gz) et à se rendre ensuite dans le dossier du paquet en question afin de le compiler par la commande :
./configure && make install.
La manière la plus facile d'installer ConTeXt Standalone (qui évite des compilations fastidieuses pour le débutant non motivé) consiste à passer par la commande suivante :
1. rsync -av rsync://contextgarden.net/minimals/setup/first-setup.sh . (attention au point après first-setup.sh);
2. Rendre le script exécutable : # chmod +x first-setup.sh (si on a oublié le point ci-dessus);
3. Puis, on lance le téléchargement de tous les paquets nécessaires : sh first-setup.sh;
4. On configure TEXROOT par :. /Users/MonRepertoire/context/tex/setuptex (en n'oubliant pas le point séparé d'un espace au début de la commande), ou bien en mode 'Terminal' ou en mode 'console' se rendre dans le répertoire /MonRépertoire/context/tex/, puis taper la commande : . setuptex. On doit avoir comme retour la formule suivante : Setting "/Users/adeimantos/Documents/context/tex" as ConTeXt root;
5. On règle PATH par la commande PATH=$PATH:/Users/adeimantos/Documents/context/tex/texmf-osx-64/bin (Prenez garde ici de bien éditer le chemin qui conduit vers /tex/texmf-osx-64/bin);
6. Ensuite : context --generate
7. Puis : context --make
8. Enfin, on recharge les polices et on les listes, avec la commandemtxrun:
mtxrun --script fonts --reload.
9. Puis, si on veut installer toutes les polices et les modules, on passera la commande :
sh ./first-setup.sh --modules=all --fonts=all --goodies=all --engine=luatex (la spécification
permet d'installer la version Mark IV);
10. Enfin, lorsqu'on désire mettre à jour tous les paquets (chaque semaine ?), il suffira d'entrer à nouveau la commande :
sh ./first-setup.sh.
L'installation est terminée !
* Remarques :
* Quelques systèmes tels Mac OS/X et BSD proposent l'usage de curl au lieu de wget. Dans ce cas, afin de vous procurer quelques polices pour TeX, veuillez saisir au clavier les commandes suivantes :
curl --remote-name https://tug.org/fonts/getnonfreefonts/install-getnonfreefonts, puis : texlua install-getnonfreefonts
* Concernant l'installation et l'usage du scriptgetnonfreefonts, on se référera à la page Web de Getnonfreefonts.

#### Installation de ConTeXt sur Linux
##### Démarche à suivre pour installer ConTeXt Standalone par téléchargement

* En tant que simple utilisateur (et non administrateur) créez un répertoire pour ConTeXt (comme on l'a vu ci-dessus), par exemple :
/home/utilisateur/context et placez-vous dans ce répertoire. Voici le rappel des commandes :
A) création de répertoire : mkdir context;
B) Se rendre dans le répertoire : cd context
C) Cette création de répertoire, puis se rendre dans ce répertoire est possible grâce à la commande suivante :
mkdir context && cd context
* Ensuite, sous Linux on télécharge l'installateur ConTeXt Minimals en ouvrant un terminal (une console) et en tapant au clavier :
wget http://minimals.contextgarden.net/setup/first-setup.sh
* Pour être sûr(e) de télécharger la dernière version de ConTeXt, il est préférable de passer dans un terminal la commande suivante :
rsync -av rsync://contextgarden.net/minimals/setup/first-setup.sh . (attention au point après first-setup.sh ! C'est ce qui permet de rendre exécutable le fichier !);
* En haut de la page ConTeXt Garden où se trouvent toutes les version du fichier first-setup, vous trouverez indiquée les commandes qui permettent aux utilisateurs de Linus, MacOS X, FreeBSD, etc. de créer un dossier pour context, de vous rendre dans ce dossier et d'y télécharger le fichier. Voici ces commandes :
1. mkdir context && cd context
2. rsync -ptv rsync://contextgarden.net/standalone/setup/first-setup.sh .
3. <code">./first-setup.sh
* Si vous avez oublié de rendre exécutable le fichier téléchargé, il n'est pas trop tard ! Le fichier peut être rendu exécutable par la commande suivante :
chmod +x first-setup.sh.
* On exécute donc ce fichier téléchargé, en tapant la commande :
sh ./first-setup.sh
* ce qui a comme conséquence de télécharger la dernière version de ConTeXt MK IV, et de développer à l'intérieur du dossier 'context' un certain nombre de répertoires.
* À la fin de cette séquence, la console vous renvoie un message du type : When you want to use context, you need to initialize the tree by typing:
. /home/dupond/context/tex/setuptex.
On se rend donc dans le répertoire indiqué pour passer la commande : . setuptex
Attention ! Il y a bien un point suivi d'une espace avant setuptex !, sous Linux. Pour Windows64, le 'setuptex' a été remplacé par un 'setupbat.exe '
* Une fois la commande :
. setuptex passée, on se rend enfin dans le répertoire /context/tex/texmf-linux-64/bin (sur machine à processeur x64) pour entrer successivement les commandes :
context --generate puis : context --make
Ces deux commandes ont pour effet de développer toutes arborescences dont ConTeXt a besoin et de compiler un certain nombre de scripts. Vous pouvez regarder et suivre ces compilations, ou aller boire un café. L'opération prend 2 à 3 minutes.
* Si vous souhaitez mettre à jour la version téléchargée et bénéficier de toutes les polices, de tous les modules et des goodies, il faudra lancer la commande :
sh first-setup.sh --context=beta --fonts=all --modules=all --goodies=all

### Installation des polices/fonts sous Linux

La meilleure manière de tester le polices sous n'importe quel système est de les installer dans le répertoire personnel de l'utilisateur, où se trouve installé ConTeXt, c'est-à-dire ici :
C:\Users\USER\context\tex\texmf-context\fonts\data (Windows), ou :
C:\home\USER\context\tex\texmf-context\fonts\data (Linux)
Le répertoire \data doit contenir 2 répertoires : otf et ttf, dans lesquels vous aller organiser vos polices.
Indiquons maintenant à ConTeXt où se trouvent les polices disponibles sur le système et celles que l'on peut conserver dans la partition utilisateur (en principe /home/utilisateur/.fonts). Attention ! Toutes les polices ne se trouvent pas dans le dossier personnel /home/utilisateur/.fonts ! Afin d'indiquer à ConTeXt<\code> où se trouvent les polices, on effectuera la commande suivante (par exemple) :