🚀 Guide d’Installation : Environnement POO Avancée (Multi-OS)

Ce cours est conçu pour mettre en place rapidement votre environnement de travail pour le développement Java moderne. Nous utiliserons VS Code, le JDK 21, JBang pour le scripting, et PlantUML pour la documentation.


🛠️ 1.1 : Installation par Système d’Exploitation

Choisissez la section correspondant à votre machine.

💻 Option A : Windows

Méthode recommandée : Chocolatey

  1. Ouvrir PowerShell en mode Administrateur.
  2. Installer Chocolatey (si absent) :
    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
  3. Installer les outils : Fermez et rouvrez PowerShell (Admin), puis lancez :
    choco install vscode temurin21 graphviz plantuml jbang -y

⚠️ Fallback WSL : Si l’installation Windows échoue ou si vous préférez un environnement Linux natif, installez WSL (Windows Subsystem for Linux) via la commande wsl --install dans PowerShell. Une fois installé, ouvrez votre terminal “Ubuntu” et suivez les instructions de la section Option C : Linux.

🍎 Option B : macOS (via Homebrew)

  1. Ouvrir le Terminal.
  2. Lancer l’installation :
    brew install --cask visual-studio-code temurin
    brew install graphviz plantuml jbang

🐧 Option C : Linux (Debian/Ubuntu/WSL)

  1. Mise à jour et dépendances :
    sudo apt update && sudo apt install graphviz openjdk-21-jdk -y
  2. Installation de JBang :
    curl -Ls https://sh.jbang.dev | bash -s - app setup

    (Redémarrez votre terminal pour recharger le PATH).

  3. Installation de VS Code (si absent) :
    sudo snap install code --classic

⚙️ 1.2 : Configuration Commune (Indispensable)

Une fois les outils installés, exécutez cette commande dans votre terminal (PowerShell, Terminal ou Bash) pour connecter Java au système de Notebooks :

jbang install-kernel@jupyter-java IJava

Pourquoi ? Cette commande installe le noyau IJava, qui permet à VS Code d’exécuter du code Java dans les cellules d’un notebook Jupyter sans passer par Python.


🧩 1.3 : Configuration de VS Code

Lancez VS Code et installez les extensions suivantes (Ctrl+Shift+X) :

Extension Auteur Usage
Extension Pack for Java Microsoft Intellisense, Debugger, Maven/Gradle.
PlantUML jebbs Génération de diagrammes UML.
Markdown All in One Yu Zhang Outils pour écrire de la documentation.
Jupyter Microsoft Interface pour les notebooks.

📝 1.4 : Documentation (Markdown & PlantUML)

1.4.1. Le Rôle du Markdown

Utilisez des fichiers .md pour votre documentation. Ctrl+K V pour la prévisualisation.

1.4.2. PlantUML (Diagram-as-Code)

  • Syntaxe : Bloc ```plantuml dans le markdown.
  • Rendu : Alt+D (Windows/Linux) ou Option+D (Mac).
# Exemple UML

```plantuml
@startuml
!theme sunlust
interface Service {
  +execute()
}
class ServiceImpl implements Service {
  +execute()
}
@enduml

-----

## ☕ 1.5 : Développement Java & JBang

### 1.5.1. Scripting rapide avec JBang

Idéal pour tester un concept POO sans créer de projet lourd.

1.  **Créer :** `jbang init Hello.java`
2.  **Exécuter :** `jbang run Hello.java`

### 1.5.2. Projets Java Classiques

Pour les projets du cours :
`Ctrl+Shift+P` \> `Java: Create Java Project` \> **No build tools**.

-----

## 📓 1.6 : Notebooks Interactifs (Java)

Grâce à l'instruction `jbang install-kernel...` exécutée en section 1.2, vous pouvez coder en Java cellule par cellule.

1.  **Création :** Fichier `.ipynb`.

2.  **Noyau :** Cliquez sur "Select Kernel" (haut droite) \> **Java** (ou IJava).

3.  **Exemple :**

    ```java
    // Les imports sont automatiques pour les classes standard
    import java.util.stream.*;

    var liste = Stream.of("Java", "POO", "Avancé").toList();
```java
// Utilisation immédiate de la variable 'liste'
System.out.println(liste);
```

C’est l’outil idéal pour le prototypage rapide en cours.