# Guide d'installation

# Installation - Côté projet (développeur)

<div id="bkmrk-ce-document-explique">  
<div>Ce document explique comment déployer un nouveau site "eCare Cleaning".</div>  
<div>Prérequis</div>  
<div>- Nom de domaine au format recommandé :</div><div> - `e.[client].ecare.pro`</div><div> - `plan.[client].ecare.pro` (format privilégié)</div>  
<div>- Ou un nom de domaine personnalisé pour le client :</div><div> - `e.[domaine_client].com`</div><div> - `plan.[domaine_client].com`</div>  
<div>\## 1. Administration (ASW)</div>  
<div>1. Ajouter un nouveau client dans l'interface d'administration.</div>  
<div>![Ajouter nouveau client](ressources/INSTALL/1_admin_asw_1_ajouter_nouveau_client.png)</div>  
<div>2. Configurer les paramètres du nouveau client.</div>  
<div>![Configurer nouveau client](ressources/INSTALL/1_admin_asw_2_configurer_nouveau_client.png)</div>  
<div>\## 2. Configuration du serveur</div>  
<div>1. Se connecter en RDP au serveur cible.</div>  
<div>![Connexion RDP](ressources/INSTALL/2_serveur_1_rdp_serveur.png)</div>  
<div>2. **Installer eCare Business si le client n'en dispose pas encore** : utiliser le script d'installation prévu et vérifier qu'il est accessible en ligne.</div>  
<div>3. Vérifier que le dossier `D:/inetpub/localuser/[client]/private/plan-hygiene` existe bien avant de continuer</div>  
<div>4. Dans SQL Server, ouvrir la base `service_ecare` puis la table `compte` et vérifier que les champs `path_` et `url_` sont correctement renseignés pour le client ciblé.</div>  
<div>![Vérifier BDD et table](ressources/INSTALL/2_serveur_2_sql_verifier_bdd_service_ecare_table_compte.png)</div>  
<div>5. Vérifier que l'utilisateur SQL utilisé pour la base de données du client possède le rôle `db_owner`.</div>  
<div>![Vérifier droits utilisateur](ressources/INSTALL/2_serveur_3_sql_verifier_usr_droit_owner_bdd.png)</div>  
<div>6. Dans IIS, ajouter un nouveau site pour le client.</div>  
<div>![Ajouter site IIS](ressources/INSTALL/2_serveur_4_iis_ajouter_site.png)</div>  
<div>7. Dans IIS, modifier le pool d'application du nouveau site pour changer la valeur de `version du CLR.NET` pour `Version v4.0`.</div>  
<div>![Vérifier pool application](ressources/INSTALL/2_serveur_5_iis_pool_application_verifier_version_clr.png)</div>  
<div>8. Lancer Win‑Acme (WACS) en tant qu'administrateur et générer un certificat SSL pour le nouveau site.</div>  
<div>![Ajout SSL avec wacs](ressources/INSTALL/2_serveur_6_ajout_ssl_avec_wacs.png)</div>  
<div>\## 3. Configuration / ajout d'un site dans Visual Studio</div>  
<div>1. Ouvrir la page de publication du projet dans Visual Studio : **Menu &gt; Générer &gt; Publier**.</div>  
<div>![Ouvrir page publier](ressources/INSTALL/3_visual_studio_1_ouvrir_page_publier.png)</div>  
<div>2. Créer un nouveau profil de publication.</div>  
<div>![Nouveau profil](ressources/INSTALL/3_visual_studio_2_nouveau_profil.png)</div>  
<div>3. Sélectionner le type de cible : **Serveur Web (IIS)**.</div>  
<div>![Sélectionner serveur Web IIS](ressources/INSTALL/3_visual_studio_3_profil_selectionner_serveur_web_iis.png)</div>  
<div>4. Choisir la méthode : **Web Deploy**.</div>  
<div>![Sélectionner cible Web Deploy](ressources/INSTALL/3_visual_studio_4_profil_selectionner_cible_web_deploy.png)</div>  
<div>5. Remplir la configuration du profil (serveur, site, utilisateur, mot de passe, chemin).</div>  
<div>![Remplir configuration profil](ressources/INSTALL/3_visual_studio_5_profil_remplir_configuration.png)</div>  
<div>6. Renommer le profil en retirant le préfixe `plan.` si vous le souhaitez (ex. `plan.paris.ecare.pro` → `paris.ecare.pro`).</div>  
<div>![Renommer profil](ressources/INSTALL/3_visual_studio_6_renommer_profil.png)</div>  
<div>7. Ouvrir le Gestionnaire de configurations : **Menu &gt; Générer &gt; Gestionnaire de configurations**.</div>  
<div>![Ouvrir gestionnaire configurations](ressources/INSTALL/3_visual_studio_7_ouvrir_gestionnaire_configurations.png)</div>  
<div>8. Créer une nouvelle configuration nommée d'après le site sans le préfixe `plan.` (ex. `paris.ecare.pro`).</div>  
<div>![Nouvelle configuration](ressources/INSTALL/3_visual_studio_8_nouvelle_configuration.png)</div>  
<div>9. Ajouter une transformation de `web.config` : **Explorateur de solutions &gt; Web.config &gt; Click droit &gt; Ajout d'une transformation de configuration**.</div>  
<div>![Ajout transformation web.config](ressources/INSTALL/3_visual_studio_9_webconfig_ajout_transformation_configuration.png)</div>  
<div>10. Copier le contenu d'une configuration existante pour servir de base :</div>  
<div>- Pour un client sans groupe ou si le groupe n'a pas d'eCare Cleaning disponible :</div><div> `Web.7darmor.ecare.pro.config`.</div><div>- Si le client appartient à un groupe qui possède déjà un eCare Cleaning (ex. `plan.groupe.geh.ecare.pro`) :</div><div> `Web.clermont-chimie.ecare.pro.config`.</div>  
<div>![Exemple copier contenu](ressources/INSTALL/3_visual_studio_10_exemple_copier_contenu_7darmor.png)</div>  
<div>\## 4. Publier / mettre à jour depuis Visual Studio</div>  
<div>1. Ouvrir la page de publication du projet dans Visual Studio : **Menu &gt; Générer &gt; Publier**.</div>  
<div>2. Vérifier que le profil sélectionné correspond bien au site, puis cliquer sur **Publier**.</div>  
<div>![Publier le site](ressources/INSTALL/4_visual_studio_1_publier.png)</div>  
<div>3. A la fin de la publication le site devrait s'ouvrir dans le navigateur (ex. `[site]/Compte/Connexion?doUpdate=true`).</div>  
<div>4. Une fois sur la page de connexion, cliquer sur le buton `?` orange.</div>  
<div>![Publier le site](ressources/INSTALL/4_visual_studio_2_mettre_a_jour_bdd_1.png)</div>  
<div>5. Puis cliquer sur `Mettre à jour la BDD` et `Ajouter le compte "admin.plan"`, ça lance automatiquement une mise à jours des tables `PLAN_*` et ajoute le compte `admin.plan` si il n'existe pas encore.</div>  
<div>![Publier le site](ressources/INSTALL/4_visual_studio_3_mettre_a_jour_bdd_2.png)</div>  
<div>\## 5. Publier / Mettre à jour avec le script</div>  
<div>Double cliquer `publish_profiles.ps1` ou lancer le script `publish_profiles.ps1` manuellement.</div>  
<div>Le script va alors lister l'ensemble des profils du projet et afficher :</div>  
<div>```</div><div>Enter the profile index, name, or group to select (0 to select all)</div><div>```</div>  
<div>Saisir au choix :</div>  
<div>- Un index numérique (ex. `3`) — sélectionne le profil à cet index.</div><div>- `0` — sélectionne tous les profils.</div><div>- `&gt;n` (ex. `&gt;5`) — sélectionne tous les profils depuis l'index `n` jusqu'à la fin.</div><div>- Le nom d'un profil (ex. `paris.ecare.pro`) — sélection par nom.</div><div>- `g:&lt;nom_groupe&gt;` (ex. `g:geh`) — sélectionne tous les profils du groupe indiqué.</div><div>- Plusieurs sélections séparées par des virgules (ex. `1,3,g:geh,&gt;10`).</div>  
<div>Après saisie, le script affiche les profils sélectionnés puis lance le processus de publication.</div>  
<div>A la fin de chaque publication le script va ouvrir une page dans chrome au format `[site]/Compte/Connexion?doUpdate=true`.</div>  
<div>Ce qui permet de vérifier que le site fonctionne bien et lance automatiquement une mise à jours des tables `PLAN_*` (avec l'instruction `?doUpdate=true`)</div>  
  
<div>\## 6. Vérifications après déploiement</div><div>- Accéder au site en HTTPS et vérifier la page d'accueil.</div><div>- Vérifier la connexion à la base de données et le bon fonctionnement des fonctionnalités clientes.</div><div>- Consulter les logs IIS / application `[site]/labs/logs` en cas d'erreur.</div></div>