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

imt

1. Objectif

Que ce soit pour les tutoriels ou pour les TPs nous allons ici installer le nécessaire des dépendances. Nous allons 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, mais la deuxième solution est intéressante pour les raisons suivantes :

  • cela vous sera aussi utile pour d’autres UE

  • c’est l’occasion d’utiliser une première fois Docker si vous ne connaissez pas

  • la portabilité de votre code dans le groupe est garantie avec l’utilisation de conteneurs

MAIS si vous avez un ordinateur avec peu de mémoire utiliser les conteneurs peut vite faire peiner votre ordinateur (surtout sur Windows et MacOS à priori).

2. Avant de démarrer - IDE Python

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

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, même si pour cette UE vous ne pousserez évidemment rien sur le GitHub de départ.

4. Avant de démarrer - Postman

Pour faciliter les tests et le développement dans ce module vous pouvez installer l’outil Postman très utilisé dans l’industrie. Il faut installer le client lourd sur votre OS.

5. Avant de démarrer - Wireshark

L’outil wireshark qui permet d’analyser les requêtes sur le réseau peut aussi être utile pour cette UE pour debugger vos codes et l’interaction entre les services.

6. Environnement virtuel Python

6.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

  • installer le gestionnaire de paquets de Python : pip

6.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 (et je le conseille car c’est un peu 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.

6.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 (ou un terminal CMD sous Windows) et j’effectue les commandes manuelles de création d’un environnement virtuel et d’installation pip -r requirements.txt.

6.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.

7. Environnement Docker

7.1. Installation de Docker et DockerCompose

7.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/

7.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é.

7.2. Intégration dans un IDE

7.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).

7.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.