
Travailler avec plusieurs versions de WebDev sur un même poste peut s’avérer délicat. Chaque projet pouvant nécessiter une version spécifique, il est essentiel de configurer votre environnement pour répliquer au mieux les conditions de production.
Un point crucial concerne les projets de type AWP (Active Web Page) : ces pages dynamiques WebDev, souvent utilisées pour des pages référençables ou des webhooks, posent une contrainte particulière. Dans un site virtuel IIS, il n’est possible de configurer AWP que pour une seule version de WebDev. La configuration IIS multi-version devient alors une nécessité pour les développeurs travaillant avec différentes versions de WebDev.
Voici ma méthode pour configurer IIS (Internet Information Services) sur votre poste développeur, permettant de faire fonctionner simultanément plusieurs versions distinctes de WebDev.
Étape 1 : Modifier le fichier HOST de Windows
Commencez par configurer le fichier HOST de votre système (à l’emplacement C:\Windows\System32\drivers\etc\hosts). Ajoutez autant de noms de domaine locaux que de versions de WebDev souhaitées, en les pointant tous sur l’adresse 127.0.0.1.
Par exemple :
127.0.0.1 localhost28 127.0.0.1 localhost29 127.0.0.1 localhostXX
Ces alias locaux serviront à créer des sites distincts dans IIS pour chaque version.
Étape 2 : Créer des sites virtuels dans IIS
Ouvrez IIS Manager et créez un site distinct pour chaque version de WebDev.
- Clic droit dans le menu pour “Ajouter un site Web”
- Saisissez votre alias pour le nom du site et le nom de l’hôte
- Pour le chemin d’accès physique : vous pouvez reprendre l’emplacement par défaut IIS défini dans le “Defaut Web Site”
- Répétez l’opération pour associer chaque site à l’alias correspondant défini dans le fichier HOST
Étape 3 : Configurer les administrateurs WebDev
Dans l’administrateur de chaque version de WebDev, reliez le serveur Web à l’URL du site virtuel créé dans IIS. Cela permet à chaque version de fonctionner indépendamment tout en simulant un environnement proche de celui de production.
- Onglet Avancé / Bounton “Serveur…” : sélectionnez IIS
- Indiquez votre alias dans le champ “Nom d’hôte / IP”
- Faites ensuite un diagnostic, il sera logiquement en erreur car IIS n’est pas encore configuré, vous aurez accès à un bouton “Corriger” qui va se charger de configurer correctement votre IIS, vous devrez néanmoins lui indiquer le site virtuel qui doit lui être associé
- Actualisez votre IIS votre alias est maintenant configuré (répertoire virtuel vers l’installation de WebDev + mappage de gestionnaire pour les extensions de pages des sites WebDev)
Alternatives : Pourquoi ne pas choisir d’autres approches ?
Deux solutions alternatives existent, mais elles présentent des inconvénients :
1. Utiliser une instance IIS Express par version de WebDev
- Avantage : Simple à mettre en place, c’est le paramétrage par défaut lors de l’installation de WebDev dans ses versions les plus récentes.
- Inconvénient : Rien n’est gardé en mémoire, et IIS Express redémarre à chaque test. De plus, IIS Express est moins configurable qu’IIS classique et ne reflète pas exactement les conditions d’un serveur de production, notamment en ce qui concerne la gestion des pools d’applications et des alias.
2. Utiliser IIS en attribuant des ports différents pour chaque version
- Exemple : utiliser des variantes du port 80 comme 8026, 8027, 8028, etc. (NOTE: c’est ainsi que fonctionne la solution avec IIS Express)
- Avantages : Cette méthode ne nécessite aucune modification du fichier HOST, ce qui simplifie la configuration initiale. Chaque version peut être lancée rapidement en spécifiant un port unique (par exemple, 8026, 8027, etc.).
- Inconvénients : Cette solution reste éloignée des pratiques de production, où les serveurs utilisent généralement des sites virtuels avec des sous-domaines ou des répertoires spécifiques.
Avantages de cette approche
La méthode que j’utilise offre plusieurs atouts :
- Proximité avec l’environnement de production : En utilisant des sites virtuels et des sous-domaines, cette solution imite au plus près ce qui sera mis en place chez le client.
- Flexibilité : Vous pouvez ajouter des alias ou des répertoires virtuels selon vos besoins.
- Isolation claire des versions : Chaque version de WebDev est totalement isolée, évitant les conflits.
Conclusion
Configurer IIS pour exécuter plusieurs versions de WebDev simultanément n’est pas seulement une solution pratique, c’est également un gage de qualité pour vos projets. En reproduisant un environnement proche de la réalité de production, vous réduisez les risques d’anomalies et accélérez vos cycles de développement et de test.