Partager via


Déploiement de votre site avec un client FTP (VB)

par Scott Mitchell

Télécharger le PDF

Le moyen le plus simple de déployer une application ASP.NET consiste à copier manuellement les fichiers nécessaires de l’environnement de développement vers l’environnement de production. Ce tutoriel montre comment utiliser un client FTP pour obtenir les fichiers de votre bureau vers le fournisseur hôte web.

Introduction

Le tutoriel précédent a présenté une simple révision de livre ASP.NET application web, composée d’une poignée de pages ASP.NET, d’une page master, d’une classe de base Page personnalisée, d’un certain nombre d’images et de trois feuilles de style CSS. Nous sommes maintenant prêts à déployer cette application sur un fournisseur d’hôte web, auquel cas l’application sera accessible à toute personne disposant d’une connexion à Internet !

À partir de nos discussions dans le tutoriel Détermination des fichiers à déployer , nous savons quels fichiers doivent être copiés sur le fournisseur d’hôte web. (Rappelez-vous que les fichiers copiés dépendent de la compilation explicite ou automatique de votre application.) Mais comment pouvons-nous obtenir les fichiers de l’environnement de développement (notre bureau) jusqu’à l’environnement de production (le serveur web géré par le fournisseur d’hôte web) ? Le rotocol F ile T ransfer P (FTP) est un protocole couramment utilisé pour copier des fichiers d’un ordinateur vers un autre sur un réseau. Une autre option est les extensions serveur FrontPage (FPSE). Ce tutoriel se concentre sur l’utilisation d’un logiciel client FTP autonome pour déployer les fichiers nécessaires de l’environnement de développement vers l’environnement de production.

Notes

Visual Studio inclut des outils pour la publication de sites web via FTP ; ces outils, ainsi qu’un aperçu des outils qui utilisent FPSE, sont abordés dans le tutoriel suivant.

Pour copier les fichiers à l’aide de FTP, nous avons besoin d’un client FTP sur l’environnement de développement. Un client FTP est une application conçue pour copier des fichiers de l’ordinateur qu’il est installé sur un ordinateur qui exécute un serveur FTP. (Si votre fournisseur d’hôte web prend en charge les transferts de fichiers via FTP, comme la plupart d’entre eux, un serveur FTP s’exécute sur ses serveurs web.) Un certain nombre d’applications clientes FTP sont disponibles. Votre navigateur web peut même doubler en tant que client FTP. Mon client FTP favori, et celui que je vais utiliser pour ce tutoriel, est FileZilla, un client FTP open source gratuit disponible pour Windows, Linux et Mac. N’importe quel client FTP fonctionnera, alors n’hésitez pas à utiliser le client avec lequel vous êtes le plus à l’aise.

Si vous suivez, vous devez créer un compte auprès d’un fournisseur d’hôte web avant de pouvoir suivre ce didacticiel ou les suivants. Comme indiqué dans le tutoriel précédent, il existe un baggle de fournisseurs d’hébergement web avec un large éventail de prix, de fonctionnalités et de qualité de service. Pour cette série de tutoriels, j’utiliserai Discount ASP.NET comme fournisseur d’hébergement web, mais vous pouvez suivre avec n’importe quel fournisseur d’hébergement web tant qu’il prend en charge la version ASP.NET dans laquelle votre site est développé. (Ces tutoriels ont été créés à l’aide de ASP.NET 3.5.) En outre, étant donné que nous copierons les fichiers vers le fournisseur d’hôte web à l’aide de FTP dans ce didacticiel et dans les prochains, il est impératif que votre fournisseur d’hôte web prenne en charge l’accès FTP à ses serveurs web. Pratiquement tous les fournisseurs d’hôtes web offrent cette fonctionnalité, mais vous devez case activée deux fois avant de vous inscrire.

Déploiement du projet d’application web Book Review

Rappelez-vous qu’il existe deux versions de l’application web Book Review : l’une implémentée à l’aide du modèle projet d’application web (BookReviewsWAP) et l’autre à l’aide du modèle projet de site web (BookReviewsWSP). Le type de projet détermine si le site est compilé automatiquement ou explicitement, et ce modèle de compilation détermine les fichiers à déployer. Par conséquent, nous allons examiner le déploiement des projets BookReviewsWAP et BookReviewsWSP séparément, en commençant par BookReviewsWAP. Prenez un moment pour télécharger ces deux applications ASP.NET si vous ne l’avez pas déjà fait.

Lancez le projet BookReviewsWAP en accédant au BookReviewsWAP dossier et en double-cliquant sur le BookReviewsWAP.sln fichier. Avant de déployer le projet, il est important de le générer pour vous assurer que toutes les modifications apportées au code source sont incluses dans l’assembly compilé. Pour générer le projet, accédez au menu Générer et choisissez l’option de menu Générer BookReviewsWAP. Cela compile le code source du projet dans un assembly unique, BookReviewsWAP.dll, qui est placé dans le Bin dossier .

Nous sommes maintenant prêts à déployer les fichiers nécessaires ! Lancez votre client FTP et connectez-vous au serveur web auprès de votre fournisseur d’hôte web. (Lorsque vous vous inscrivez auprès d’une société d’hébergement web, elle vous adresse par e-mail des informations sur la façon de se connecter au serveur FTP ; cela inclut l’adresse du serveur FTP, ainsi qu’un nom d’utilisateur et un mot de passe.)

Copiez les fichiers suivants de votre bureau vers le dossier de site web racine de votre fournisseur d’hôte web. Lorsque vous accédez par FTP au serveur web auprès du fournisseur d’hôte web, vous êtes probablement dans le répertoire du site web racine. Toutefois, certains fournisseurs d’hôtes web ont un sous-dossier nommé www ou wwwroot qui sert de dossier racine pour vos fichiers de site web. Enfin, lors de la mise à jour des fichiers, vous devrez peut-être créer la structure de dossiers correspondante sur l’environnement de production : le Bin dossier, le Fiction dossier, le Images dossier, etc.

  • ~/Default.aspx
  • ~/About.aspx
  • ~/Site.master
  • ~/Web.config
  • ~/Web.sitemap
  • Contenu complet du Styles dossier
  • Contenu complet du Images dossier (et de son sous-dossier, BookCovers)
  • ~/Fiction/Default.aspx
  • ~/Fiction/Blaze.aspx
  • ~/Tech/Default.aspx
  • ~/Tech/CYOW.aspx
  • ~/Tech/TYASP35.aspx
  • ~/Bin/BookReviewsWAP.dll

La figure 1 montre FileZilla une fois que les fichiers nécessaires ont été copiés. FileZilla affiche les fichiers sur l’ordinateur local à gauche et les fichiers sur l’ordinateur distant à droite. Comme le montre la figure 1, les fichiers de code source ASP.NET, tels que About.aspx.vb, se trouvent sur l’ordinateur local (l’environnement de développement), mais n’ont pas été copiés sur le fournisseur d’hôte web (l’environnement de production), car les fichiers de code n’ont pas besoin d’être déployés lors de l’utilisation de la compilation explicite.

Notes

Il n’y a aucun mal à avoir les fichiers de code source sur le serveur de production, car ils sont ignorés. ASP.NET interdit par défaut les requêtes HTTP aux fichiers de code source afin que même si les fichiers de code source sont présents sur le serveur de production, ils soient inaccessibles aux visiteurs de votre site web. (Autrement dit, si un utilisateur tente de visiter http://www.yoursite.com/Default.aspx.vb , il obtient une page d’erreur qui explique que ces types de fichiers - .vb fichiers - sont interdits.)

Utilisez un client FTP pour copier les fichiers nécessaires de votre bureau vers le serveur web du fournisseur d’hôte web.

Figure 1 : Utiliser un client FTP pour copier les fichiers nécessaires de votre bureau vers le serveur web du fournisseur d’hôte web (cliquez pour afficher l’image en taille réelle)

Après le déploiement de votre site, prenez un moment pour tester le site. Si vous avez acheté un nom de domaine et configuré correctement les paramètres DNS, vous pouvez visiter votre site en entrant votre nom de domaine. Votre fournisseur d’hôte web doit également avoir fourni une URL à votre site, qui ressemblera à accountname. webhostprovider.com ou webhostprovider.com/accountname. Par exemple, l’URL de mon compte sur Discount ASP.NET est : http://httpruntime.web703.discountasp.net.

La figure 2 montre le site Book Reviews déployé. Notez que je l’affiche sur Discount ASP. Serveurs de NET, à l’adresse http://httpruntime.web703.discountasp.net. À ce stade, toute personne disposant d’une connexion à Internet pourrait voir mon site web! Comme nous nous y attendions, le site ressemble et se comporte comme il l’a fait lors de son test dans l’environnement de développement.

Notes

Si vous obtenez une erreur lors de l’affichage de votre application, prenez un moment pour vous assurer que vous avez déployé l’ensemble de fichiers correct. Ensuite, case activée le message d’erreur pour voir s’il révèle des indices sur le problème. Ensuite, vous pouvez vous tourner vers le support technique de votre entreprise hôte web ou publier votre question sur le forum approprié sur les forums ASP.NET.

Le site Book Reviews est désormais accessible à toute personne disposant d’une connexion Internet.

Figure 2 : Le site Book Reviews est désormais accessible à toute personne disposant d’une connexion Internet (cliquer pour afficher l’image en taille réelle)

Déploiement du projet de site web Book Review

Lors du déploiement d’une application ASP.NET qui utilise la compilation automatique, telle que le projet de site web BookReviewsWSP, il n’existe aucun assembly compilé dans le Bin dossier. Par conséquent, les fichiers de code source de l’application web doivent être déployés dans l’environnement de production. Passons à travers ce processus.

Comme avec le projet d’application web, il est judicieux de générer d’abord l’application avant de la déployer. Bien que la création d’un projet de site web ne crée pas d’assembly, elle ne case activée pour toutes les erreurs de compilation dans la page. Mieux vaut trouver ces erreurs maintenant plutôt que d’avoir un visiteur de votre site les découvrir pour vous !

Une fois que vous avez correctement créé le projet, utilisez votre client FTP pour copier les fichiers suivants dans le dossier de site web racine de votre fournisseur d’hôte web. Vous devrez peut-être créer la structure de dossiers correspondante sur l’environnement de production.

Notes

Si vous avez déjà déployé le projet BookReviewsWAP, mais que vous souhaitez toujours essayer de déployer le projet BookReviewsWSP, supprimez d’abord tous les fichiers sur le serveur web qui ont été chargés lors du déploiement de BookReviewsWAP, puis déployez les fichiers pour BookReviewsWSP.

  • ~/Default.aspx
  • ~/Default.aspx.vb
  • ~/About.aspx
  • ~/About.aspx.vb
  • ~/Site.master
  • ~/Site.master.vb
  • ~/Web.config
  • ~/Web.sitemap
  • Contenu complet du Styles dossier
  • Contenu complet du Images dossier (et de son sous-dossier, BookCovers)
  • ~/App_Code/BasePage.vb
  • ~/Fiction/Default.aspx
  • ~/Fiction/Default.aspx.vb
  • ~/Fiction/Blaze.aspx
  • ~/Fiction/Blaze.aspx.vb
  • ~/Tech/Default.aspx
  • ~/Tech/Default.aspx.vb
  • ~/Tech/CYOW.aspx
  • ~/Tech/CYOW.aspx.vb
  • ~/Tech/TYASP35.aspx
  • ~/Tech/TYASP35.aspx.vb

La figure 3 montre FileZilla après la copie des fichiers nécessaires. Comme vous pouvez le voir, les fichiers de code source ASP.NET, tels que About.aspx.vb, sont présents à la fois sur l’ordinateur local (l’environnement de développement) et sur le fournisseur hôte web (l’environnement de production), car les fichiers de code doivent être déployés lors de l’utilisation de la compilation automatique.

Utiliser un client FTP pour copier les fichiers nécessaires de votre bureau vers le serveur web du fournisseur d’hôte web

Figure 3 : Utiliser un client FTP pour copier les fichiers nécessaires de votre bureau vers le serveur web du fournisseur d’hôte web (cliquez pour afficher l’image en taille réelle)

L’expérience utilisateur n’est pas affectée par le modèle de compilation de l’application. Les mêmes ASP.NET pages sont accessibles et elles se présentent et se comportent de la même manière, que le site web ait été créé à l’aide du modèle projet d’application web ou du modèle projet de site web.

Mise à jour d’une application web en production

Le développement et le déploiement d’applications web ne sont pas un processus ponctuel. Par exemple, lors de la création du site web Book Review, j’ai créé les différentes pages et écrit le code qui l’accompagne sur mon ordinateur personnel (l’environnement de développement). Après avoir atteint un certain état stable, j’ai déployé mon application afin que d’autres puissent visiter le site et lire mes avis. Mais le déploiement ne marque pas la fin de mon développement sur ce site. Je peux ajouter d’autres critiques de livres ou implémenter de nouvelles fonctionnalités, telles que permettre à mes visiteurs d’évaluer des livres ou de laisser leurs propres commentaires. Ces améliorations seraient développées sur l’environnement de développement et, une fois terminées, elles devraient être déployées. Le développement et le déploiement sont donc cycliques. Vous développez une application, puis vous la déployez. Pendant que le site est actif et en production, de nouvelles fonctionnalités sont ajoutées et les bogues sont résolus au fil du temps, ce qui nécessite le redéploiement de l’application. Et ainsi de suite.

Comme vous pouvez vous y attendre, lors du redéploiement d’une application web, il vous suffit de copier les fichiers nouveaux et modifiés. Il n’est pas nécessaire de redéployer des pages inchangées ou des fichiers de support côté serveur ou côté client (bien qu’il n’y ait aucun mal à le faire).

Notes

Une chose à garder à l’esprit lors de l’utilisation de la compilation explicite est que chaque fois que vous ajoutez une nouvelle page ASP.NET au projet ou apportez des modifications liées au code, vous devez reconstruire votre projet, ce qui met à jour l’assembly dans le Bin dossier . Par conséquent, vous devez copier cet assembly mis à jour en production lors de la mise à jour d’une application web en production (avec l’autre contenu nouveau et mis à jour).

Comprenez également que toutes les modifications apportées aux Web.config fichiers ou dans le Bin répertoire s’arrêtent et redémarrent le pool d’applications du site web. Si l’état de votre session est stocké à l’aide du InProc mode (valeur par défaut), les visiteurs de votre site perdent leur état de session chaque fois que ces fichiers clés sont modifiés. Pour éviter cet écueil, envisagez de stocker la session à l’aide des StateServer modes ou SQLServer . Pour plus d’informations sur ce sujet, consultez Modes d’état de session.

Enfin, gardez à l’esprit que le redéploiement d’une application peut prendre entre quelques secondes et plusieurs minutes, en fonction du nombre et de la taille des fichiers qui doivent être copiés dans l’environnement de production. Pendant ce temps, les utilisateurs qui visitent votre site peuvent rencontrer des erreurs ou un comportement étrange. Vous pouvez « désactiver » l’ensemble de votre application en ajoutant une page nommée App_Offline.htm au répertoire racine de votre application qui explique à vos utilisateurs que le site est hors service pour maintenance (ou autre) et qu’il sera bientôt sauvegardé. Lorsque le App_Offline.htm fichier est présent, le runtime ASP.NET redirige toutes les demandes entrantes vers cette page.

Résumé

Le déploiement d’une application web implique la copie des fichiers nécessaires de l’environnement de développement vers l’environnement de production. Le moyen le plus courant par lequel les fichiers sont transférés sur un réseau est le protocole FTP (File Transfer Protocol), et la plupart des fournisseurs d’hôtes web prennent en charge l’accès FTP à leurs serveurs web. Dans ce tutoriel, nous avons vu comment utiliser un client FTP pour déployer les fichiers nécessaires sur le serveur web. Une fois déployé, le site web peut être visité par toute personne disposant d’une connexion à Internet !

Bonne programmation!

En savoir plus

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