màj wiki avec retour MES lot-5 AD
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user