Partager via


Déploiement de votre site avec Visual Studio (C#)

par Scott Mitchell

Télécharger le PDF

Visual Studio inclut des outils pour le déploiement d’un site web. Pour en savoir plus sur ces outils, consultez ce tutoriel.

Introduction

Le tutoriel précédent a examiné comment déployer une application web simple ASP.NET sur un fournisseur d’hôte web. Plus précisément, le tutoriel a montré comment utiliser un client FTP comme FileZilla pour transférer les fichiers nécessaires de l’environnement de développement vers l’environnement de production. Visual Studio propose également des outils intégrés pour faciliter le déploiement vers un fournisseur d’hôte web. Ce didacticiel examine deux de ces outils : l’outil Copier un site web, où vous pouvez déplacer des fichiers vers et à partir d’un serveur web distant à l’aide des extensions FTP ou serveur FrontPage ; et l’outil Publier, qui copie l’intégralité du site web à un emplacement spécifié.

Notes

Un autre outil lié au déploiement proposé par Visual Studio est le complément Projets d’installation web . Les projets d’installation web empaquetent le contenu et les informations de configuration d’un site web dans un seul fichier MSI. Cette option est particulièrement utile pour les sites web déployés dans un intranet ou pour les entreprises qui vendent une application web pré-empaquetée que les clients installent sur leurs propres serveurs web. Le Add-In Projets de déploiement web est un Add-In Visual Studio qui facilite la spécification des différences de configuration entre les builds pour les environnements de développement et les environnements de production. Les projets d’installation web ne sont pas abordés dans cette série de tutoriels ; Les projets de déploiement web sont résumés dans le didacticiel Différences de configuration courantes entre le développement et la production .

Déploiement de votre site à l’aide de l’outil Copier un site web

L’outil Copier un site web de Visual Studio est similaire en termes de fonctionnalités à un client FTP autonome. En résumé, l’outil Copier un site web vous permet de vous connecter à un site web distant via les extensions serveur FTP ou FrontPage. Semblable à l’interface utilisateur de FileZilla, l’interface utilisateur copier le site web se compose de deux volets : le volet gauche répertorie les fichiers locaux tandis que le volet droit répertorie ces fichiers sur le serveur de destination.

Notes

L’outil Copier un site web n’est disponible que pour les projets de site web. Visual Studio propose cet outil lorsque vous travaillez avec un projet d’application web.

Examinons l’utilisation de l’outil Copier le site web pour publier l’application Book Review en production. Étant donné que l’outil Copier un site web fonctionne uniquement avec les projets qui utilisent le modèle projet de site web, nous pouvons uniquement examiner l’utilisation de cet outil avec le projet BookReviewsWSP. Ouvrez ce projet.

Lancez le projet d’outil Copier un site web en cliquant sur l’icône Copier le site web dans le Explorateur de solutions (cette icône est encerclée dans la figure 1). Vous pouvez également sélectionner l’option Copier le site web dans le menu Site web. L’une ou l’autre approche lance l’interface utilisateur copier le site web illustrée à la figure 1 ; seul le volet gauche de la figure 1 est rempli, car nous n’avons pas encore connecté à un serveur distant.

L’interface utilisateur de l’outil Copier le site web est divisée en deux volets

Figure 1 : L’interface utilisateur de l’outil de copie de site web est divisée en deux volets (cliquer pour afficher l’image en taille réelle)

Pour déployer notre site, nous devons d’abord nous connecter au fournisseur d’hôte web. Cliquez sur le bouton Se connecter en haut de l’interface utilisateur Copier le site web. La boîte de dialogue Ouvrir un site web est ainsi affichée dans la figure 2.

Vous pouvez vous connecter au site web de destination en sélectionnant l’une des quatre options à partir de la gauche :

  • Système de fichiers : sélectionnez-le pour déployer votre site dans un dossier ou un partage réseau accessible à partir de votre ordinateur.
  • IIS local : utilisez cette option pour déployer le site sur le serveur web IIS installé sur votre ordinateur.
  • Site FTP : connectez-vous à un site web distant à l’aide de FTP.
  • Site distant : connectez-vous à un site web distant à l’aide des extensions serveur FrontPage.

La plupart des fournisseurs d’hôtes web prennent en charge FTP, mais moins offrent la prise en charge de l’extension de serveur FrontPage. Pour cette raison, j’ai sélectionné l’option Site FTP, puis entré les informations de connexion comme illustré dans la figure 2.

Capture d’écran de la boîte de dialogue Ouvrir un site web, qui montre que les informations de connexion sont renseignées dans les champs de texte.

Figure 2 : Spécifier le site web de destination (cliquer pour afficher l’image en taille réelle)

Après vous être connecté, l’outil Copier le site web charge les fichiers sur le site distant dans le volet droit et indique le status de chaque fichier : Nouveau, Supprimé, Modifié ou Inchangé. Vous pouvez copier un fichier du site local vers le site distant, ou inversement.

Ajoutons une nouvelle page au projet BookReviewsWSP, puis déployons-la pour que nous puissions voir l’outil Copier le site web en action. Créez une page ASP.NET dans Visual Studio dans le répertoire racine nommé Privacy.aspx. La page doit utiliser la page master et ajouter la politique Site.master de confidentialité de votre site à cette page. La figure 3 montre Visual Studio après la création de cette page.

Ajouter un nouveau code>nommé <de page Privacy.aspx</code> au dossier racine du site web

Figure 3 : Ajouter une nouvelle page nommée Privacy.aspx au dossier racine du site web (cliquez pour afficher l’image en taille réelle)

Ensuite, revenez à l’interface utilisateur copier le site web. Comme le montre la figure 4, le volet gauche inclut désormais les nouveaux fichiers - Policy.aspx et Policy.aspx.cs. De plus, ces fichiers sont marqués avec une icône de flèche et un état nouveau, indiquant qu’ils existent sur le site local, mais pas sur le site distant.

L’outil Copier un site web inclut le nouveau <code>Privacy.aspx</page de code> dans son volet gauche

Figure 4 : L’outil Copier le site web inclut la nouvelle Privacy.aspx page dans son volet gauche (cliquer pour afficher l’image en taille réelle)

Pour déployer les nouveaux fichiers, sélectionnez-les, puis cliquez sur l’icône de flèche pour les transférer vers le site distant. Une fois le transfert terminé, les Policy.aspx fichiers et Policy.aspx.cs existent sur les sites locaux et distants avec le status Inchangé.

En plus de répertorier les nouveaux fichiers, l’outil Copier un site web met en évidence tous les fichiers qui diffèrent entre les sites locaux et distants. Pour voir cela en action, revenez à la Privacy.aspx page et ajoutez quelques mots supplémentaires à la politique de confidentialité. Enregistrez la page, puis revenez à l’outil Copier le site web. Comme le montre la figure 5, la Privacy.aspx page dans le volet gauche a une status de Modification indiquant qu’elle n’est pas synchronisée avec le site distant.

L’outil Copier le site web indique que le <code>Privacy.aspx</page de code> a été modifié

Figure 5 : L’outil Copier le site web indique que la Privacy.aspx page a été modifiée (cliquez pour afficher l’image en taille réelle)

L’outil Copier un site web indique également si un fichier a été supprimé depuis la dernière opération de copie. Supprimez le Privacy.aspx du projet local et actualisez l’outil Copier le site web. Les Privacy.aspx fichiers et Privacy.aspx.cs restent répertoriés dans le volet gauche, mais ont une status supprimée indiquant qu’ils ont été supprimés depuis la dernière opération de copie.

Publication d’une application web

Une autre façon de déployer votre application web à partir de Visual Studio consiste à utiliser l’option Publier, accessible via le menu Générer. L’option Publier compile explicitement l’application, puis copie tous les fichiers nécessaires jusqu’au site distant spécifié. Comme nous le verrons bientôt, l’option Publier est plus émoussante que l’outil Copier le site web. Alors que l’outil Copier un site web vous permet d’examiner les fichiers sur les sites locaux et distants et vous permet de charger ou de télécharger des fichiers individuels en fonction des besoins, l’option Publier déploie l’ensemble de l’application web.

En plus de copier tous les fichiers nécessaires sur le site distant spécifié, l’option Publier compile explicitement l’application. Étant donné que les projets d’application web doivent être compilés explicitement, il n’est pas surprenant que l’option Publier soit disponible pour les projets d’application web. Ce qui peut être un peu surprenant, c’est que l’option Publier est également disponible pour les projets de site web. Comme indiqué dans le tutoriel Détermination des fichiers qui doivent être déployés , les projets de site web peuvent être compilés explicitement par le biais d’un processus appelé précompilation. Ce tutoriel se concentre sur l’utilisation de l’option Publier avec des projets d’application web ; un prochain tutoriel explorera la précompilation, à partir de laquelle nous allons revenir pour examiner l’utilisation de l’option Publier avec des projets de site web.

Notes

Bien que l’option Publier soit disponible dans Visual Studio pour les projets de site web et les projets d’application web, Visual Web Developer propose uniquement l’option Publier pour les projets d’application web.

Examinons le déploiement de l’application Book Reviews à l’aide de l’option Publier. Commencez par ouvrir BookReviewsWAP (le projet d’application web) dans Visual Studio. Dans le menu Publier, choisissez le projet Générer bookReviewsWAP. Cela affiche une boîte de dialogue qui invite l’emplacement cible, entre autres options de configuration (voir figure 6). Tout comme avec l’outil Copier un site web, vous pouvez entrer un emplacement qui pointe vers un dossier local, un site web local sur IIS, un site web distant qui prend en charge les extensions serveur FrontPage ou une adresse de serveur FTP. Vous pouvez choisir de remplacer les fichiers sur le serveur web distant par les fichiers déployés ou de supprimer tout le contenu sur le site distant avant la publication. Vous pouvez également spécifier s’il faut copier :

  • Seuls les fichiers du projet nécessaires pour exécuter l’application, ce qui omet le code source inutile et les fichiers liés au projet.
  • Tous les fichiers projet, qui incluent les fichiers de code source et les fichiers projet Visual Studio comme le fichier Solution.
  • Tous les fichiers du dossier de projet source, qui copie tous les fichiers du dossier de projet source, qu’ils soient inclus ou non dans le projet.

Il existe également une option permettant de charger le contenu du App_Data dossier.

Capture d’écran de la boîte de dialogue Publier le web, qui montre les cases Supprimer tous les fichiers existants avant la publication et Uniquement les fichiers nécessaires pour exécuter les cases.

Figure 6 : Spécifier le site web de destination (cliquer pour afficher l’image en taille réelle)

Pour l’application Book Review, le site distant contient les fichiers déployés lors de la copie du projet BookReviewsWSP via l’outil Copier le site web. Par conséquent, nous allons faire en sorte que l’option Publier commence par supprimer tout le contenu existant. En outre, nous allons simplement copier les fichiers nécessaires au lieu d’encombrer l’environnement de production avec du code source et des fichiers projet inutiles. Après avoir spécifié ces options, cliquez sur le bouton Publier. Au cours des prochaines secondes, Visual Studio déploiera les fichiers nécessaires sur le site de destination, en affichant sa progression dans la fenêtre Sortie.

La figure 7 montre les fichiers sur le site FTP une fois l’opération de publication terminée. Notez que seules les pages de balisage et les fichiers de support côté serveur et côté client nécessaires ont été chargés.

Seuls les fichiers nécessaires ont été publiés dans l’environnement de production

Figure 7 : Seuls les fichiers nécessaires ont été publiés dans l’environnement de production (cliquer pour afficher l’image en taille réelle)

L’option Publier est un outil moins nuancé que l’outil Copier un site web. Alors que l’outil Copier un site web vous permet d’inspecter les fichiers sur les sites locaux et distants et de voir en quoi ils diffèrent, l’option Publier ne fournit aucune interface de ce type. De plus, l’outil Copier le site web vous permet d’apporter des modifications ponctuelles, en téléchargeant ou en supprimant des fichiers individuels. L’option Publier n’autorise pas ce contrôle précis ; au lieu de cela, il publie l’ensemble de l’application. Ce comportement a ses avantages et ses inconvénients. Du côté positif, vous savez que lorsque vous utilisez l’option Publier, vous n’oublierez pas de charger un fichier important. Mais pensez à ce qui se passe si vous avez apporté une petite modification à un très grand site web : avec l’option Publier, vous ne pouvez pas mettre à jour cette page ou deux qui ont été modifiées, mais vous devez attendre que Visual Studio déploie l’ensemble du site.

Il n’est pas rare qu’il y ait certains fichiers dont le contenu diffère entre les environnements de production et de développement. Un exemple clé est le fichier de configuration de l’application, Web.config. Étant donné que l’option Publier copie aveuglément les fichiers d’application web, elle remplace les fichiers de configuration personnalisés de l’environnement de production par la version dans l’environnement de développement. Le tutoriel suivant explore cette rubrique plus en détail et propose des conseils pour déployer une application web lorsque de telles différences existent.

Résumé

Le déploiement d’un site web implique la copie des fichiers nécessaires de l’environnement de développement vers l’environnement de production. Le tutoriel précédent a montré comment transférer des fichiers à l’aide d’un client FTP comme FileZilla. Ce tutoriel a examiné deux outils de déploiement dans Visual Studio : l’outil Copier le site web et l’option Publier. L’outil Copier le site web est similaire à un client FTP en ce qu’il dispose d’une interface à deux panoramiques répertoriant les fichiers sur l’ordinateur local et un ordinateur distant spécifié qui facilite le chargement ou le téléchargement de fichiers entre les deux ordinateurs. L’option Publier est un outil plus contondant qui compile explicitement le projet, puis déploie l’application entière vers la destination spécifiée.

Bonne programmation !

En savoir plus

Pour plus d’informations sur les sujets abordés dans ce didacticiel, consultez les ressources suivantes :