màj wiki avec retour MES lot-5 AD

This commit is contained in:
Arthur Ria
2026-05-20 09:41:27 +02:00
commit 23eb3f3c84
4106 changed files with 469381 additions and 0 deletions
+170
View File
@@ -0,0 +1,170 @@
---
title: "VM Installation (Hyper-V) & Validation"
type: operation
sources:
- sources/archives/Installation_VM_Hyper-V.md
- sources/archives/Valider_sa_machine_virtuelle.md
related:
- architecture/overview.md
- operations/first-deployment.md
- operations/development-methodology.md
- operations/vm-network-routing.md
- operations/deploy-test-application.md
last_compiled: "2026-04-17"
---
# VM Installation (Hyper-V) & Validation
## Overview
Procédure interne Mecalux EasyWMS France pour créer et valider une **machine virtuelle de développement** sous Hyper-V. Chaque développeur dispose de sa propre VM locale (ou hébergée sur serveur), préparée à partir d'un template fourni par l'équipe, puis configurée pour être jointe au réseau Mecalux et permettre le déploiement d'un projet.
La VM sert de cible de déploiement pour :
- Le **core EasyWMS** (via script `deploy_repository.ps1`)
- La **configuration entrepôt** (via EasyS / uGNA)
- La **custom application** du projet (via EasyBuilder)
- Les services adjacents (GNA, Printer Service, EasySTS License, SmartUI, etc.)
Sources : Confluence EasyWMS France — *Installation de la VM sur Hyper-V* (v30, 02/12/2025) + *Valider sa machine virtuelle* (v7, 14/02/2023).
## Prérequis
- Accès réseau au partage **`\\lyoitsw02\TEMPLATE\`**
- Rôle **Hyper-V** activé sur le poste (ou serveur Hyper-V disponible)
- Droits administrateur local
## 1. Récupérer le template de VM
1. Ouvrir **`\\lyoitsw02\TEMPLATE\`** dans l'explorateur
2. Copier le dossier **`TEMPLATE_INTEGRATION_[DB]`** en local, par exemple dans **`D:\Hyper-V\DEV`**
Choix de la base de données selon le mode de déploiement cible en production :
| Mode | BDD |
|------|-----|
| SaaS | **PostgreSQL** |
| On-premise | **Oracle** |
## 2. Création de la VM dans Hyper-V
| Étape | Paramètre | Valeur |
|-------|-----------|--------|
| Génération | - | **Génération 2** (toutes fonctionnalités) |
| Nom | Convention | `DEV-<PRENOM>` (ex : `DEV-NICO`) |
| RAM | Initiale | **4 Go (4096 Mo)** avec mémoire dynamique activée |
| Connexion réseau | Poste local | **InternoNAT** |
| Connexion réseau | Serveur | **VMs** |
| Disque dur | Source | **Existant**`win10ent.vhdx` du dossier template |
La convention `DEV-<PRENOM>` évite les interconnexions non désirées entre VM de différents développeurs.
## 3. Configuration post-création (dans Hyper-V)
> Ne pas faire le paramétrage NAT si c'est une VM d'intégration.
| Paramètre | Valeur | Raison |
|-----------|--------|--------|
| RAM dynamique max | **6 Go (6144 Mo)** | Éviter qu'Hyper-V dépasse la capacité du poste |
| Processeurs | **4** | Performances compilation / WMS |
| Points de contrôle | **Activés** | Snapshot "Deploy 0" après config initiale |
## 4. Configuration réseau (dans la VM locale)
> À faire **uniquement sur VM locale**. Sur VM hébergée sur serveur → passer à l'étape 5.
1. `Windows + R``NCPA.CPL`
2. Propriétés du réseau Ethernet → protocole **IPv4**
3. Saisir :
- IP : `10.255.255.2`
- Masque : `255.255.255.0`
- Passerelle : `10.255.255.1`
4. **Advanced → DNS** — saisir les 4 serveurs DNS Mecalux :
- `192.168.0.102`
- `192.168.0.104`
- `192.168.0.56`
- `192.168.66.250`
5. Suffixe DNS : **`mecalux.com`**
## 5. Renommer la VM (Windows)
1. **Paramètres Windows → System → About** (en bas du volet gauche)
2. **"Rename this PC"** — saisir le nom de la VM
> ⚠️ **Avant redémarrage**, mettre à jour les fichiers Oracle suivants (remplacer `localhost` par le nouveau nom) :
> - `tnsnames.ora`
> - `listener.ora`
>
> Localisation selon template :
> - Template Oracle 12 : `C:\Mecalux\Motor\oracle\product\12.2.0\dbhome_1\network\admin`
> - Template Oracle 19 : `C:\Mecalux\Motor\oracle\Product\19.17.0.0\dbhome_1\network\admin`
> ⚠️ Pour les templates Oracle : **nom limité à 15 caractères**.
3. **Redémarrer** la VM
## 6. Installation des logiciels personnels
Avant le premier point de contrôle, installer ce qui est nécessaire :
- **Git** (obligatoire) — vérifier avec `git --version` ; à défaut : [git-scm.com/download/win](https://git-scm.com/download/win)
- Éditeurs personnels (Sublime Text, VSCode, Notepad++…)
- SourceTree si absent du template (voir [git-workflow](git-workflow.md))
## 7. Point de contrôle "Deploy 0"
Créer un point de contrôle **"Deploy 0"** — c'est le snapshot de référence à partir duquel un nouveau projet pourra être déployé (cf. [first-deployment](first-deployment.md)).
Entre deux projets, on applique ce point de contrôle pour repartir d'une VM propre.
## Validation de la VM
Après le premier déploiement d'un projet sur la VM (cf. [first-deployment](first-deployment.md)), vérifier que l'installation est fonctionnelle.
### 1. Vérifier les services et IIS
1. Service Windows **MongoDB** démarré (sinon : démarrer)
2. **IIS Manager** — pour chacune des applications ci-dessous, `Browse` doit ouvrir la page sans erreur :
- **`AD`** (Application Dictionary API)
- **`ApplicationService`**
- **`EasySTS`** (License)
- **`SmartUI`**
- **`SmartUIServices`**
> ️ Si IIS remonte "ne trouve pas `localhost/<service>`", c'est un problème IIS et pas forcément d'installation. Tester dans un navigateur **depuis la VM** sur `localhost/smartui`.
### 2. Accès depuis le PC physique
Si SmartUI fonctionne depuis la VM mais pas depuis le PC hôte :
1. Ouvrir **`C:\inetpub\wwwroot\SmartUI\script\config.js`**
2. Mettre la variable **`defaultURL`** à vide
3. Vérifier que les lignes standards sont bien présentes dans `config.js` (si la page reste bloquée sur le grand "M" de Mecalux)
### 3. Activer consoleRF (si besoin)
Si la connexion à **consoleRF** boucle sur l'input du nom d'utilisateur :
1. Aller sur **`https://<votre_vm>/SmartUIservices/home`**
2. Se connecter avec `mecalux` / `mecalux`
3. **Parameters** → chercher **`EnableLegacyRFMode`**
4. Activer sa **2e checkbox**
5. Sauvegarder (bouton en bas à droite)
## Common errors
- **VM ne démarre pas / Génération 1 choisie par erreur** → recréer la VM en Génération 2. La Génération 2 est requise pour disposer de toutes les fonctionnalités (secure boot, UEFI, disque VHDX).
- **Conflits IP entre VM de devs différents** → respecter la convention `DEV-<PRENOM>` et utiliser **InternoNAT** (pas le switch par défaut). Sur serveur, utiliser la connexion **VMs**.
- **Oracle ne démarre pas après renommage** → `tnsnames.ora` / `listener.ora` non mis à jour avec le nouveau hostname. Vérifier chemin selon version Oracle template.
- **Nom de VM refusé par Oracle** → dépasser 15 caractères sur template Oracle casse les services. Raccourcir le nom Windows.
- **SmartUI inaccessible depuis le PC hôte** → `config.js``defaultURL` doit être vide. Sinon SmartUI tente de joindre une URL relative au serveur de template.
- **consoleRF boucle sur le login** → activer `EnableLegacyRFMode` (2e checkbox) dans SmartUIservices/Parameters.
- **`localhost/<service>` introuvable dans IIS** → faux positif classique. Tester `localhost/smartui` dans un navigateur sur la VM avant de conclure.
- **Mémoire dynamique > RAM du poste hôte** → Hyper-V peut saturer l'hôte. Toujours borner la RAM dynamique max à **6 Go**.
## Related
- [System Architecture Overview](../architecture/overview.md) — stack IIS/ASP.NET Core/Oracle/PostgreSQL déployée sur la VM
- [First Deployment](first-deployment.md) — déploiement initial d'un projet sur une VM fraîchement créée
- [Deploy Existing Application](deployment-existing-app.md) — redéploiement sur VM déjà préparée
- [GNA, Services & License](gna-services-license.md) — installation des services adjacents (GNA, Printer, License WMS)
- [Development Methodology](development-methodology.md) — méthode de travail et stratégie de branches autour de la VM