Guide d’installation pour l’UE architectures distribuées FIL A1 et l’UE Services FISE LOGIN A3

imt

1. Objectif

Nous allons ici installer le nécessaire des dépendances pour la partie 1 de cette UE. Nous allons au choix mettre en place deux solutions :

  • Passer par une installation classique de Python, d’un IDE, et des bibliothèques Python nécessaires à cette UE

  • Passer par une installation de Docker, DockerCompose et les plugins nécessaires dans VSCode ou PyCharm

La première solution suffit en soit et est plus adaptée pour les phases de développement et de debug. La deuxième solution est optionnelle et réservée à ceux qui manipulent déjà un peu Docker ou qui souhaitent décourvir (cela ne fait pas partie de l’UE à proprement parlé). Il y aura un cours sur Docker en détail dans le parcours Back en deuxième année.

Il est bon de noter que si vous êtes sous Windows je connais mal et il faudra chercher un peu par vous même pour bien configurer votre environnement. Si vous êtes sous ARM il faudra aussi sans doute adapter des choses.

2. Avant de démarrer - IDE Python

Nous allons privilégier l’un de deux IDE suivants :

  • PyCharm : vous avez accès à une licence complète gratuite en tant qu’étudiant (https://www.jetbrains.com/fr-fr/community/education/), mais PyCharm Community suffit aussi.

  • VSCode : IDE multi-langages gratuit de Microsoft (j’utilise plutôt cette solution de mon côté).

3. Avant de démarrer - git

Les éléments des tutoriels et des TP seront disponibles sous GitHub. Vous pouvez au choix :

  • télécharger manuellement les archives des repository git

  • installer git sur votre machine (ce qui sera souvent utile)

Et éventuellement dans le cas de la deuxième solution vous pouvez installer les extensions nécessaires pour l’intégration git dans votre IDE. Vous ne pousserez évidemment rien sur les repository GitHub de départ, mais dans vos repository personnels.

4. Environnement virtuel Python

4.1. Ce qu’il faut faire dans tous les cas

  • installer Python dans une version la plus récente possible pour votre OS 3.XX

  • vous assurer que votre IDE utilise bien cette version de Python et que vous savez lancer cette version de Python depuis un terminal

  • installer le gestionnaire de paquets de Python : pip dans sa version la plus récente également

4.2. Sans IDE

Dans chaque repository git que vous allez utiliser il y aura des fichiers requirements.txt qui sont des fichiers que pip peut lire pour installer les dépendances nécessaires. Il installera automatiquement le contenu dans votre environnement avec la commande suivante :

pip -r requirements.txt

À noter que si vous le souhaitez (c’est plus propre) vous pouvez installer ces dépendances dans un environnement virtuel Python créé pour chaque TP/tuto. Il faut pour cela voir comment créer un environnement virtuel en fonction de votre OS (Windows, MacOS, Linux). Il sera ensuite nécessaire d’initier votre environnement virtuel dans votre terminal avant de faire la commande d’installation précédente. Il faudra aussi systématiquement vous placer dans votre environnement virtuel.

L’avantage d’utiliser un IDE est évidemment de pouvoir mettre des points d’arrêt dans son code pour debugger. En plus de cela PyCharm qui est un IDE spécifique à Python vous permet de gérer les environnement virtuels et l’installation de dépendances plus simplement et sans passer par un terminal.

4.3. VSCode

Dans VSCode je n’utilise pas d’intégration particulière pour Python et l’installation de paquets dans requirements.txt. Je lance un terminal depuis VSCode et j’effectue les commandes manuelles de création d’un environnement virtuel (virtualenv ./venv), pour se placer dans l’environnement virtuel (source venv/bin/activate) et pour l’installation des requirements (pip -r requirements.txt).

4.4. PyCharm

PyCharm est un IDE spécifique à Python et donc l’intégration pour développer et exécuter des programmes Python est plus directe. Dans PyCharm vous pouvez installer l’extension proposée lorsque vous ouvrez un fichier requirements.txt et faire ensuite un click droit dans le fichier pour installer l’ensemble de paquets. Attention, cette installation sera relative à l’environnement d’exécution choisi dans PyCharm pour le projet. Par défaut il ne va pas créer d’environnement virtuel, mais vous pouvez en créer un directement depuis PyCharm.

5. Environnement Docker (optionnel)

5.1. Installation de Docker et DockerCompose

5.1.1. Sur Windows et MacOS

Vous allez devoir installer Docker Desktop, merci de vous référer à cette adresse : https://www.docker.com/products/docker-desktop/

5.1.2. Sur Linux

Dans ce cas ma préférence est d’installer Docker puis DockerCompose en suivant les instructions de votre distribution. Par exemple sur Ubuntu :

Il existe aussi un Docker Desktop pour Linux mais que je n’ai jamais testé.

5.2. Intégration Docker dans un IDE

5.2.1. VSCode

Nous allons utiliser l’intégration de VSCode avec l’environnement Docker.

Des extensions vous seront directement proposées à la détection des fichiers liés à Docker et Docker Compose, mais voici l’extension indispensable :

  • Docker (par Microsoft)

Note
Nous aurions pu utiliser des conteneurs de développement VSCode, mais il s’avère que ce n’est pas très adapté pour cette UE où nous allons faire intéragir plusieurs conteneurs les uns avec les autres (un par micro-service).

5.2.2. PyCharm

L’intégration à PyCharm est également très bien faite et nécessite d’aller dans les préférences de build de PyCharm :

Note
Pour reconstruire les images systématiquement il faut aller changer les options de DockerCompose pour refaire un build systématique.