Environnement de travail

Qu’est-ce que Docker ?

Docker est une plateforme qui permet de créer, déployer et exécuter des applications dans des conteneurs. Un conteneur est un environnement isolé qui contient tout ce dont une application a besoin pour fonctionner (code, bibliothèques, dépendances), ce qui garantit qu’elle fonctionne de la même manière, peu importe l’endroit où elle est déployée.

Avantages de Docker :

  1. Portabilité : Un conteneur peut être exécuté sur n’importe quelle machine qui a Docker, que ce soit un ordinateur local ou un serveur dans le cloud.
  2. Isolation : Chaque conteneur est indépendant, ce qui évite les conflits de dépendances entre différentes applications.
  3. Léger : Contrairement aux machines virtuelles, les conteneurs partagent le même noyau du système, ce qui les rend plus légers et rapides à démarrer.
  4. Scalabilité : Docker facilite le déploiement d’applications à grande échelle en orchestrant plusieurs conteneurs via des outils comme Kubernetes.

Cas d’utilisation de Docker :

  • Développement : Les développeurs l’utilisent pour s’assurer que leur application fonctionne de la même manière sur leur machine que sur celle du client.
  • CI/CD : Intégration et déploiement continus pour tester et déployer des applications rapidement et de manière fiable.
  • Microservices : Chaque service d’une application est déployé dans un conteneur distinct, ce qui facilite la gestion et la scalabilité.
  • Tests : Lancer des environnements de test isolés sans affecter la configuration système locale.

Docker permet donc une gestion plus efficace des applications et de leurs dépendances, rendant les déploiements plus fiables et flexibles.

Logiciels à installer

Environnement de TP et TD

Commencez par cloner le repo :

git clone git@github.com:PHParis/db2_public.git

Ou avec cette commande en cas de problème avec ssh :

git clone https://github.com/PHParis/db2_public.git

Puis entrez dans le répertoire db2_public avant de passer à la suite.

Construire les containers

Une fois les logiciels installés, lancez la commande depuis le répertoire db2_public :

docker compose build

Cette commande peut prendre du temps à s’exécuter car les images doivent être téléchargées. Lancez ensuite :

docker compose up

Cette commande sera à lancer à chaque début de TP. La première fois prend plus de temps car la base de données doit être créée.

Vérifier l’installation

Base de données Oracle

Dans l’extension Oracle Developer Tools for VS Code, ajouter une nouvelle connexion avec les paramètres suivant :

  • Connection name: BD2_lab
  • Connection using: Server and Port
  • Server Address: localhost
  • Port: 1521
  • Database: MYPDB
  • Username: PH
  • Use password: Save password
  • Password: MySuperPassword2024
  • privilege: Normal

Cliquez sur Test Connection pour vérifier que tout marche correctement (Test connection succeeded.).

PHP
  1. Installation de PHP : Attendez que les containers soient prêts, puis vérifier que PHP est bien installé en suivant ce lien : http://localhost:8080/index.php. La page ouverte doit afficher des informations sur votre installation PHP.
  2. Connexion à la base de donnée : Ensuite, suivez ce lien : http://localhost:8080/test.php. La page doit afficher “Connexion réussie à Oracle!”.

Tous les fichiers PHP que vous aurez à créer devront aller dans le répertoire php et seront accessibles depuis votre navigateur à l’adresse http://localhost:8080/<nom_fichier>.php.

Java
  1. Debugger dans le container Java : En bas à gauche de votre fenêtre Visual Studio Code (VScode par la suite), cliquez sur l’icone bleue. Choisissez Attach to Running Container... et choisissez /java-app. Dans la nouvelle fenêtre VScode, cliquez sur Open Folder... et ouvrez /app/. Ne fermez pas la fenêtre VScode originelle.
  2. Installation de l’extension Java : Dans le répertoire src, ouvrez le fichier HelloWorld.java. VScode vous demandera si vous souhaitez installer Extension Pack for Java : installez le.
  3. Installation de Java : Une fois l’extension installée, pressez la touche F5 pour lancez le debug de notre fichier. Votre terminal doit afficher Hello World!.
  4. Connexion à la base de donnée : Pour finir, nous allons vérifier que Java peut se connecter à la base de données. Ouvrez le fichier OracleJDBCTest.java et appuyez sur F5. Votre terminal doit afficher Connexion réussie à Oracle!.

⚠️ L’étape 1 doit être répétée pour chaque TP basé sur Java !

Tous les fichiers Java que vous aurez à créer devront aller dans le répertoire java.

Commencer une séance de TP

Exécuter la commande suivante pour lancer les containers :

docker compose up

⚠️ Si le TP porte sur Java, exécutez ensuite la $1^{ère}$ étape de la section Java.

Terminer une séance de TP

  1. Si vous avez travaillé avec Java, fermez simplement la fenêtre VScode dans laquelle vous réalisé le TP.
  2. Dans tous les cas, sur la fenêtre VScode originelle, cliquez sur le terminal où vous aviez lancé les containers puis appuiez sur Ctrl+C.
  3. Une fois les containers fermés, vous pouvez aussi fermer la fenêtre VScode.
Pierre-Henri Paris
Pierre-Henri Paris
Associate Professor in Artificial Intelligence

My research interests include Knowlegde Graphs, Information Extraction, and NLP.